From 147a2d655f86c66b6edfebc20b927a8de8668722 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 2 May 2011 17:47:24 -0700 Subject: Un-revert "Use different syntax for checks that matter to typestate", fixing the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118. --- src/boot/fe/item.ml | 8 ++++++++ src/boot/fe/lexer.mll | 1 + src/boot/fe/token.ml | 2 ++ 3 files changed, 11 insertions(+) (limited to 'src/boot') diff --git a/src/boot/fe/item.ml b/src/boot/fe/item.ml index 6b232e7e..70e59be3 100644 --- a/src/boot/fe/item.ml +++ b/src/boot/fe/item.ml @@ -199,6 +199,14 @@ and parse_stmts_including_none (ps:pstate) : Ast.stmt array = bump ps; expect ps SEMI; [| span ps apos (lexpos ps) Ast.STMT_cont |] + | ASSERT -> + bump ps; + let (stmts, expr) = + ctxt "stmts: check value" parse_expr ps + in + expect ps SEMI; + spans ps stmts apos (Ast.STMT_check_expr expr) +(* leaving check as it is; adding assert as a synonym for the "old" check *) | CHECK -> bump ps; begin diff --git a/src/boot/fe/lexer.mll b/src/boot/fe/lexer.mll index b375b874..a65acba1 100644 --- a/src/boot/fe/lexer.mll +++ b/src/boot/fe/lexer.mll @@ -92,6 +92,7 @@ ("type", TYPE); ("check", CHECK); + ("assert", ASSERT); ("claim", CLAIM); ("prove", PROVE); diff --git a/src/boot/fe/token.ml b/src/boot/fe/token.ml index 0b157983..27cb399b 100644 --- a/src/boot/fe/token.ml +++ b/src/boot/fe/token.ml @@ -77,6 +77,7 @@ type token = (* Type and type-state keywords *) | TYPE | CHECK + | ASSERT | CLAIM | PROVE @@ -237,6 +238,7 @@ let rec string_of_tok t = (* Type and type-state keywords *) | TYPE -> "type" | CHECK -> "check" + | ASSERT -> "assert" | CLAIM -> "claim" | PROVE -> "prove" -- cgit v1.2.3