From df2c63c5596db36f0c1899cced6b7ee2e946741e Mon Sep 17 00:00:00 2001 From: bringert Date: Wed, 29 Sep 2004 08:27:28 +0000 Subject: Updated to latest CFG specification from gfc2java --- src/GF/CFGM/CFG.cf | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/GF/CFGM/CFG.cf') diff --git a/src/GF/CFGM/CFG.cf b/src/GF/CFGM/CFG.cf index 51117b8ba..f7b15aea1 100644 --- a/src/GF/CFGM/CFG.cf +++ b/src/GF/CFGM/CFG.cf @@ -20,16 +20,29 @@ separator Integer ","; CatS. Symbol ::= Category; TermS. Symbol ::= String; -separator Symbol ""; +-- separator Symbol ""; +[]. [Symbol] ::= "." ; +(:[]). [Symbol] ::= Symbol ; +(:). [Symbol] ::= Symbol [Symbol] ; + Name. Name ::= [IdentParam] Category; terminator IdentParam "/"; -Category. Category ::= IdentParam "." Ident [Param] ; +Category. Category ::= IdentParam "." Ident [Proj] ; + +IdentParam. IdentParam ::= Ident "{" [Field] "}" ; -IdentParam. IdentParam ::= Ident "{" [Param] "}" ; +Field. Field ::= "." KeyValue ; +terminator Field ";" ; -Param. Param ::= "!" Ident ; -separator Param ""; +Proj. Proj ::= "!" Param ; +separator Proj "" ; +KeyValue. KeyValue ::= Ident "=" Param ; +separator KeyValue ";" ; +ParamSimple. Param ::= Ident ; +ParamPatt. Param ::= Ident "(" [Param] ")" ; +ParamRec. Param ::= "{" [KeyValue] "}" ; +separator Param "," ; -- cgit v1.2.3