diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs index fbeee8cbcfe..d2f308e3238 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 b9b2fa07fa4..84869aacabc 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 */