aboutsummaryrefslogtreecommitdiff
path: root/lib/parser.mly
diff options
context:
space:
mode:
Diffstat (limited to 'lib/parser.mly')
-rw-r--r--lib/parser.mly7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/parser.mly b/lib/parser.mly
index e9d06bc..6e21480 100644
--- a/lib/parser.mly
+++ b/lib/parser.mly
@@ -14,6 +14,7 @@
%token <int> INT
%token LBRACE
%token RBRACE
+%token <string> STRING
%start <ast_table option > prog
%%
@@ -30,10 +31,16 @@ expr:
row:
| row_title = IDENTIFIER; parent = IDENTIFIER; DOT; parent_id = IDENTIFIER; COMMA; r = row { Foreign (parent,parent_id,row_title, r) }
| row_title = IDENTIFIER; parent = IDENTIFIER; DOT; parent_id = IDENTIFIER; { Foreign (parent,parent_id,row_title, End) }
+
| row_title = IDENTIFIER; UUIDV4; COMMA; r = row { Uuidv4 (row_title, r) }
| row_title = IDENTIFIER; UUIDV4 { Uuidv4 (row_title, End) }
+
| row_title = IDENTIFIER; NAME; COMMA; r = row { Name (row_title, r) }
| row_title = IDENTIFIER; NAME { Name (row_title, End) }
+
+ | row_title = IDENTIFIER; const = STRING; COMMA; r = row { Const (row_title, const, r) }
+ | row_title = IDENTIFIER; const = STRING { Const (row_title, const, End) }
+
| row_title = IDENTIFIER; INTSYMBOL;LBRACE;min = INT;COMMA;max = INT;RBRACE;COMMA; r = row { Int (row_title,min,max,r) }
| row_title = IDENTIFIER; INTSYMBOL;LBRACE;min = INT;COMMA;max = INT;RBRACE; { Int (row_title,min,max,End) }
;