aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/fe/item.ml8
-rw-r--r--src/boot/fe/lexer.mll1
-rw-r--r--src/boot/fe/token.ml2
3 files changed, 11 insertions, 0 deletions
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"