summaryrefslogtreecommitdiff
path: root/src/GF/Canon/GFCC/GFCC.cf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-09-13 16:49:23 +0000
committeraarne <aarne@cs.chalmers.se>2006-09-13 16:49:23 +0000
commitba950aab14782e95b41f378df4de014b38347665 (patch)
treefa8a56bee9923c986020332ee811b1f9b3890d67 /src/GF/Canon/GFCC/GFCC.cf
parenta64131afbec2ced7919dee28326beda827a38bee (diff)
lambda in GFCC
Diffstat (limited to 'src/GF/Canon/GFCC/GFCC.cf')
-rw-r--r--src/GF/Canon/GFCC/GFCC.cf4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/GF/Canon/GFCC/GFCC.cf b/src/GF/Canon/GFCC/GFCC.cf
index eb3bff56c..b7298cdd9 100644
--- a/src/GF/Canon/GFCC/GFCC.cf
+++ b/src/GF/Canon/GFCC/GFCC.cf
@@ -14,6 +14,8 @@ Tr. Exp ::= "(" Atom [Exp] ")" ;
AC. Atom ::= CId ;
AS. Atom ::= String ;
AI. Atom ::= Integer ;
+trA. Exp ::= Atom ;
+define trA a = Tr a [] ;
R. Term ::= "[" [Term] "]" ; -- record/table
P. Term ::= Term "[" Term "]" ; -- projection/selection
@@ -22,6 +24,8 @@ K. Term ::= Tokn ; -- token
V. Term ::= "$" Integer ; -- argument
C. Term ::= Integer ; -- parameter value/label
F. Term ::= CId ; -- global constant
+L. Term ::= "$" CId ; -- local (bound) variable
+A. Term ::= "(" CId "->" Term ")" ; -- lambda abstraction (compressed table)
FV. Term ::= "[|" [Term] "|]" ; -- free variation
W. Term ::= "(" String "+" Term ")" ; -- prefix + suffix table