summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parser.mly3
-rw-r--r--src/sail_lib.ml6
2 files changed, 5 insertions, 4 deletions
diff --git a/src/parser.mly b/src/parser.mly
index 2ab911ee..416d4d92 100644
--- a/src/parser.mly
+++ b/src/parser.mly
@@ -163,11 +163,12 @@ let make_vector_sugar typ typ1 =
%token <string> LtEqUnderUiI LtUnderSI LtUnderSiI LtUnderUI LtUnderUiI StarStarUnderSI StarStarUnderSiI StarUnderSI
%token <string> StarUnderSiI StarUnderUI StarUnderUiI TwoCarrotI
-%start file exp
+%start file exp semi_exps
%type <Parse_ast.defs> defs
%type <Parse_ast.atyp> typ
%type <Parse_ast.pat> pat
%type <Parse_ast.exp> exp
+%type <Parse_ast.exp list> semi_exps
%type <Parse_ast.defs> file
diff --git a/src/sail_lib.ml b/src/sail_lib.ml
index a0ef6a06..fca6e412 100644
--- a/src/sail_lib.ml
+++ b/src/sail_lib.ml
@@ -8,11 +8,11 @@
module Pretty = Pretty_print
-let parse_exp s =
+let parse_exps s =
let lexbuf = Lexing.from_string s in
try
- let pre_exp = Parser.exp Lexer.token lexbuf in
- Initial_check.to_ast_exp Type_internal.initial_kind_env pre_exp
+ let pre_exps = Parser.semi_exps Lexer.token lexbuf in
+ List.map (Initial_check.to_ast_exp Type_internal.initial_kind_env) pre_exps
with
| Parsing.Parse_error ->
let pos = Lexing.lexeme_start_p lexbuf in