summaryrefslogtreecommitdiff
path: root/src/lacweb.grm
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-07-01 11:39:14 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-07-01 11:39:14 -0400
commitd28cad7cc5881018717c7e875c99c51469da9d44 (patch)
tree9366873b02b595e0ec394a047c66f1db6cc375d1 /src/lacweb.grm
parent43116f69ce9330eb09d42a25d4afc746e7c3f3ef (diff)
Threading disjointness conditions through Elaborate
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)