aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/comp/front/lexer.rs6
-rw-r--r--src/comp/front/token.rs20
2 files changed, 21 insertions, 5 deletions
diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs
index fbeee8cb..d2f308e3 100644
--- a/src/comp/front/lexer.rs
+++ b/src/comp/front/lexer.rs
@@ -117,8 +117,12 @@ fn new_reader(stdio_reader rdr, str filename) -> reader
keywords.insert("claim", token.CLAIM);
keywords.insert("prove", token.PROVE);
- keywords.insert("io", token.IO);
+ keywords.insert("abs", token.ABS);
+
keywords.insert("state", token.STATE);
+ keywords.insert("gc", token.GC);
+
+ keywords.insert("impure", token.IMPURE);
keywords.insert("unsafe", token.UNSAFE);
keywords.insert("native", token.NATIVE);
diff --git a/src/comp/front/token.rs b/src/comp/front/token.rs
index b9b2fa07..84869aac 100644
--- a/src/comp/front/token.rs
+++ b/src/comp/front/token.rs
@@ -89,9 +89,15 @@ tag token {
CLAIM;
PROVE;
- /* Effect keywords */
- IO;
+ /* Opacity keywords */
+ ABS;
+
+ /* Stratum keywords */
STATE;
+ GC;
+
+ /* Effect keywords */
+ IMPURE;
UNSAFE;
/* Type qualifiers */
@@ -249,9 +255,15 @@ fn to_str(token t) -> str {
case (CLAIM) { ret "claim"; }
case (PROVE) { ret "prove"; }
- /* Effect keywords */
- case (IO) { ret "io"; }
+ /* Opacity keywords */
+ case (ABS) { ret "abs"; }
+
+ /* Stratum keywords */
case (STATE) { ret "state"; }
+ case (GC) { ret "gc"; }
+
+ /* Effect keywords */
+ case (IMPURE) { ret "impure"; }
case (UNSAFE) { ret "unsafe"; }
/* Type qualifiers */