X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Fparser.mly;h=7146a999a47ee21ee00874b45f4572201902cdc2;hb=81394242a7d6a47fad6d84ce33d488d38de2647a;hp=c59a555069a6052071ec87631c30f3992034b25f;hpb=dbfe6294c7bba85785a0571691d2553364409e25;p=goals.git diff --git a/src/parser.mly b/src/parser.mly index c59a555..7146a99 100644 --- a/src/parser.mly +++ b/src/parser.mly @@ -60,7 +60,7 @@ let do_include env loc filename optflag file = %} (* Tokens. *) -%token CODE +%token CODE %token COLON %token COMMA %token EQUALS @@ -74,6 +74,7 @@ let do_include env loc filename optflag file = %token LEFT_PAREN %token LET %token OPTINCLUDE +%token PURE %token RETURNING %token RIGHT_ARRAY %token RIGHT_PAREN @@ -117,9 +118,9 @@ stmt: let name, params = $1 in name, Ast.EGoalDefn ($loc, (params, [], [], Some $2)) } - | FUNCTION ID params_decl return_decl EQUALS CODE + | option(PURE) FUNCTION ID params_decl return_decl EQUALS CODE { - $2, Ast.EFuncDefn ($loc, ($3, $4, $6)) + $3, Ast.EFuncDefn ($loc, ($4, $5, $1 <> None, $7)) } | TACTIC_KEYWORD TACTIC params_decl EQUALS CODE {