diff options
| author | Gabriel Kerneis | 2014-07-03 21:57:24 +0100 |
|---|---|---|
| committer | Gabriel Kerneis | 2014-07-03 21:57:24 +0100 |
| commit | be252b50a8f1f4f0fafa871c737f5a91d8c3131a (patch) | |
| tree | 95335626214b8ddcf4766a3e6a1d077a9b837153 /src | |
| parent | 5a52b9cf626c379e7b961caabf2a2f370f03c5dc (diff) | |
Parse list of expressions in Sail_lib
Diffstat (limited to 'src')
| -rw-r--r-- | src/parser.mly | 3 | ||||
| -rw-r--r-- | src/sail_lib.ml | 6 |
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 |
