diff options
Diffstat (limited to 'src/lacweb.grm')
-rw-r--r-- | src/lacweb.grm | 5 |
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) |