summaryrefslogtreecommitdiff
path: root/src/lacweb.grm
diff options
context:
space:
mode:
Diffstat (limited to 'src/lacweb.grm')
-rw-r--r--src/lacweb.grm5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lacweb.grm b/src/lacweb.grm
index 91285e4c..b961ba85 100644
--- a/src/lacweb.grm
+++ b/src/lacweb.grm
@@ -70,6 +70,7 @@ val s = ErrorMsg.spanOf
| cterm of con
| ident of con
| rcon of (con * con) list
+ | rconn of (con * con) list
| rcone of (con * con) list
| eexp of exp
@@ -209,6 +210,7 @@ mpath : CSYMBOL ([CSYMBOL])
cterm : LPAREN cexp RPAREN (#1 cexp, s (LPARENleft, RPARENright))
| LBRACK rcon RBRACK (CRecord rcon, s (LBRACKleft, RBRACKright))
+ | LBRACK rconn RBRACK (CRecord rconn, s (LBRACKleft, RBRACKright))
| LBRACE rcone RBRACE (TRecord (CRecord rcone, s (LBRACEleft, RBRACEright)),
s (LBRACEleft, RBRACEright))
| DOLLAR cterm (TRecord cterm, s (DOLLARleft, ctermright))
@@ -223,6 +225,9 @@ rcon : ([])
| ident EQ cexp ([(ident, cexp)])
| ident EQ cexp COMMA rcon ((ident, cexp) :: rcon)
+rconn : ident ([(ident, (CUnit, s (identleft, identright)))])
+ | ident COMMA rconn ((ident, (CUnit, s (identleft, identright))) :: rconn)
+
rcone : ([])
| ident COLON cexp ([(ident, cexp)])
| ident COLON cexp COMMA rcone ((ident, cexp) :: rcone)