diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-09-29 10:55:36 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-09-29 10:55:36 +0000 |
| commit | b39ecf4c324b674918813099711aaf437d7db1df (patch) | |
| tree | 052d0b8ccb4d39dc95ffef7c184323b6f1ff2340 /src/GF/Canon/GFCC/GFCC.cf | |
| parent | f705205b529e7761f2ba1d0fd4ba5dcf566dbf0d (diff) | |
new constructs in gfcc, removed lambda
Diffstat (limited to 'src/GF/Canon/GFCC/GFCC.cf')
| -rw-r--r-- | src/GF/Canon/GFCC/GFCC.cf | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/GF/Canon/GFCC/GFCC.cf b/src/GF/Canon/GFCC/GFCC.cf index a58544953..401979697 100644 --- a/src/GF/Canon/GFCC/GFCC.cf +++ b/src/GF/Canon/GFCC/GFCC.cf @@ -1,19 +1,20 @@ Grm. Grammar ::= Header ";" Abstract ";" [Concrete] ";" ; - Hdr. Header ::= "grammar" CId "(" [CId] ")" ; - Abs. Abstract ::= "abstract" "{" [AbsDef] "}" ";" ; - Cnc. Concrete ::= "concrete" CId "{" [CncDef] "}" ; Fun. AbsDef ::= CId ":" Type "=" Exp ; +AFl. AbsDef ::= "%" CId "=" String ; -- flag Lin. CncDef ::= CId "=" Term ; +CFl. CncDef ::= "%" CId "=" String ; -- flag Typ. Type ::= [CId] "->" CId ; Tr. Exp ::= "(" Atom [Exp] ")" ; AC. Atom ::= CId ; AS. Atom ::= String ; AI. Atom ::= Integer ; +AF. Atom ::= Double ; +AM. Atom ::= "?" ; trA. Exp ::= Atom ; define trA a = Tr a [] ; @@ -24,10 +25,9 @@ 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 +RP. Term ::= "(" Term "@" Term ")"; -- record parameter alias KS. Tokn ::= String ; KP. Tokn ::= "[" "pre" [String] "[" [Variant] "]" "]" ; |
