From 055c0d0d5a5bb0dc75904fe53df7f2e4f5732a8f Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 21 May 2008 09:26:44 +0000 Subject: 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 --- src-3.0/GF/CFGM/CFG.cf | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src-3.0/GF/CFGM/CFG.cf (limited to 'src-3.0/GF/CFGM/CFG.cf') 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 - ["'\\"]) | ('\\' ["'\\"]))* '\'' ; -- cgit v1.2.3