diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-05-21 09:26:44 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-05-21 09:26:44 +0000 |
| commit | 055c0d0d5a5bb0dc75904fe53df7f2e4f5732a8f (patch) | |
| tree | 0e63fb68c69c8f6ad0f78893c63420f0a3600e1c /src-3.0/GF/CFGM/CFG.cf | |
| parent | 915a1de71783ab8446b1af9e72c7ba7dfbc12d3f (diff) | |
GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3
Diffstat (limited to 'src-3.0/GF/CFGM/CFG.cf')
| -rw-r--r-- | src-3.0/GF/CFGM/CFG.cf | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src-3.0/GF/CFGM/CFG.cf b/src-3.0/GF/CFGM/CFG.cf new file mode 100644 index 000000000..fa722f4a4 --- /dev/null +++ b/src-3.0/GF/CFGM/CFG.cf @@ -0,0 +1,36 @@ +entrypoints Grammars; + +Grammars. Grammars ::= [Grammar]; + +Grammar. Grammar ::= "grammar" Ident [Flag] [Rule] "end" "grammar"; +separator Grammar ""; + +StartCat. Flag ::= "startcat" Category; +terminator Flag ";"; + +Rule. Rule ::= Fun ":" Profiles "." Category "->" [Symbol]; +terminator Rule ";"; + +Cons. Fun ::= Ident ; +Coerce. Fun ::= "_" ; + +Profiles. Profiles ::= "[" [Profile] "]"; + +separator Profile ","; + +UnifyProfile. Profile ::= "[" [Integer] "]"; +ConstProfile. Profile ::= Ident ; + +separator Integer ","; + +CatS. Symbol ::= Category; +TermS. Symbol ::= String; + +-- separator Symbol ""; +[]. [Symbol] ::= "." ; +(:[]). [Symbol] ::= Symbol ; +(:). [Symbol] ::= Symbol [Symbol] ; + +Category. Category ::= SingleQuoteString ; + +token SingleQuoteString '\'' ((char - ["'\\"]) | ('\\' ["'\\"]))* '\'' ; |
