aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/lexer.mll1
-rw-r--r--lib/parser.mly2
-rw-r--r--test/test_parser.ml1
3 files changed, 4 insertions, 0 deletions
diff --git a/lib/lexer.mll b/lib/lexer.mll
index e8a7a73..41a2abc 100644
--- a/lib/lexer.mll
+++ b/lib/lexer.mll
@@ -20,6 +20,7 @@ rule read =
| "uuidv4" { UUIDV4 }
| "name" { NAME }
| ":" { COLON }
+ | ";" { SEMICOLON }
| "," { COMMA }
| "\n" { NEWLINE }
| "." { DOT }
diff --git a/lib/parser.mly b/lib/parser.mly
index f2f53fd..3d57961 100644
--- a/lib/parser.mly
+++ b/lib/parser.mly
@@ -5,6 +5,7 @@
%token <string> IDENTIFIER
%token UUIDV4
%token NEWLINE
+%token SEMICOLON
%token NAME
%token COLON
%token DOT
@@ -18,6 +19,7 @@ prog:
expr:
| tbl = IDENTIFIER; COLON; r = row; NEWLINE; e = expr { Table (tbl,r, e) }
+ | tbl = IDENTIFIER; COLON; r = row; SEMICOLON; e = expr { Table (tbl,r, e) }
| tbl = IDENTIFIER; COLON; r = row { Table (tbl,r, End) }
;
diff --git a/test/test_parser.ml b/test/test_parser.ml
index bfc980c..405219e 100644
--- a/test/test_parser.ml
+++ b/test/test_parser.ml
@@ -29,6 +29,7 @@ let relations_suite =
[ ( "Can reference other tables"
, `Quick
, test_parse "user: id uuidv4\npurchases: id uuidv4, user_id user.id" )
+ ; "Can use ; as a separator", `Quick, test_parse "user: id uuidv4; purchases: id uuidv4"
]