%token COMMA
%token EQUALS
%token EOF
+%token FUNCTION
%token GOAL
%token <string> ID
%token INCLUDE
let name, params = $1 in
name, Ast.EGoalDefn ($loc, (params, [], [], Some $2))
}
+ | FUNCTION ID params_decl EQUALS CODE
+ {
+ $2, Ast.EFuncDefn ($loc, ($3, $5))
+ }
| TACTIC_KEYWORD TACTIC params_decl EQUALS CODE
{
$2, Ast.ETacticDefn ($loc, ($3, $5))
;
expr:
- | ID params { Ast.ECallGoal ($loc, $1, $2) }
+ | ID params { Ast.ECall ($loc, $1, $2) }
| ID { Ast.EVar ($loc, $1) }
| TACTIC params { Ast.ETacticCtor ($loc, $1, $2) }
| STRING { Ast.ESubsts ($loc, $1) }