diff src/lacweb.grm @ 84:e86370850c30

Disjointness assumptions
author Adam Chlipala <adamc@hcoop.net>
date Tue, 01 Jul 2008 12:10:46 -0400
parents 0a1baddd8ab2
children 1f85890c9846
line wrap: on
line diff
--- a/src/lacweb.grm	Tue Jul 01 11:39:14 2008 -0400
+++ b/src/lacweb.grm	Tue Jul 01 12:10:46 2008 -0400
@@ -43,7 +43,7 @@
  | CON | LTYPE | VAL | FOLD | UNIT | KUNIT
  | TYPE | NAME
  | ARROW | LARROW | DARROW
- | FN | PLUSPLUS | DOLLAR
+ | FN | PLUSPLUS | DOLLAR | TWIDDLE
  | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | INCLUDE | OPEN
 
 %nonterm
@@ -93,6 +93,7 @@
 %right COMMA
 %right ARROW LARROW
 %right PLUSPLUS
+%nonassoc TWIDDLE
 %nonassoc DOLLAR
 %left DOT
 
@@ -194,6 +195,7 @@
 
        | FN SYMBOL DARROW cexp          (CAbs (SYMBOL, NONE, cexp), s (FNleft, cexpright))
        | FN SYMBOL DCOLON kind DARROW cexp (CAbs (SYMBOL, SOME kind, cexp), s (FNleft, cexpright))
+       | cterm TWIDDLE cterm DARROW cexp(CDisjoint (cterm1, cterm2, cexp), s (cterm1left, cexpright))
 
        | LPAREN cexp RPAREN DCOLON kind (CAnnot (cexp, kind), s (LPARENleft, kindright))