diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2007-09-24 08:19:29 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2007-09-24 08:19:29 +0000 |
| commit | 36e091d0a1339ab363be2ad9d27608020636e569 (patch) | |
| tree | f643ca95604ca98aa49cf4f9e6a7c53b5fb53406 /src/GF/FCFG/FCFG.cf | |
| parent | 6aacec3591e0e6e1d3ddca4605f6467e302cb65f (diff) | |
remove FCFG folder
Diffstat (limited to 'src/GF/FCFG/FCFG.cf')
| -rw-r--r-- | src/GF/FCFG/FCFG.cf | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/src/GF/FCFG/FCFG.cf b/src/GF/FCFG/FCFG.cf deleted file mode 100644 index a0b375083..000000000 --- a/src/GF/FCFG/FCFG.cf +++ /dev/null @@ -1,131 +0,0 @@ --- a portable format for FCFG (Peter Ljunglöf's MCFG modified by Krasimir Anglelov) --- Aarne Ranta September 2006 - -FGr. FGrammar ::= [FRule] ; -FR. FRule ::= Abstract ":=" [[FSymbol]] ; -Abs. Abstract ::= FCat "->" [FCat] "." Name ; -FSymCat. FSymbol ::= "(" FCat Integer Integer ")" ; -FSymTok. FSymbol ::= String ; -FC. FCat ::= "(" Integer Ident "[" [[PathEl]] "]" "[" [PathTerm] "]" ")" ; -PLabel. PathEl ::= Label ; -PTerm. PathEl ::= Term ; -PtT. PathTerm ::= "(" [PathEl] "," Term ")" ; -Nm. Name ::= Ident "[" [Profile] "]" ; -Unify. Profile ::= "[" [Integer] "]" ; -Const. Profile ::= Forest ; - -FMeta. Forest ::= "?" ; -FNode. Forest ::= "(" Ident [[Forest]] ")" ; -FString. Forest ::= String ; -FInt. Forest ::= Integer ; -FFloat. Forest ::= Double ; - -Arg. Term ::= "(" Integer Ident [PathEl] ")" ; -Constr. Term ::= "(" CIdent "-" [Term] ")" ; -Rec. Term ::= "[" [Assoc] "]" ; -Proj. Term ::= "(" Term "." Label ")" ; -Tbl. Term ::= "[-" [Case] "-]" ; -Select. Term ::= "(" Term "!" Term ")" ; -Vars. Term ::= "[|" [Term] "|]" ; -Concat. Term ::= "(" Term "++" Term ")" ; -Tok. Term ::= String ; -Empty. Term ::= "(" ")" ; - -Cas. Case ::= Term "=>" Term ; -Ass. Assoc ::= Label "=" Term ; - -L. Label ::= Ident ; -LV. Label ::= "$" Integer ; -CIQ. CIdent ::= Ident "." Ident ; - -terminator FRule ";" ; -terminator [FSymbol] "|" ; -terminator FSymbol "" ; -terminator FCat "" ; -terminator [Forest] "," ; -terminator Forest "" ; -terminator PathTerm "" ; -terminator Profile "" ; -terminator Integer "" ; -terminator Term "," ; -terminator Assoc "," ; -terminator Case "," ; -terminator [PathEl] "," ; -terminator PathEl "." ; - - --- type FGrammar = [FRule] --- data FRule = FRule Abstract (Array Int (Array Int FSymbol)) --- data Abstract = Abs FCat [FCat] Name --- data FSymbol = FSymCat FCat Int Int --- | FSymTok String --- data FCat = FCat Int Ident [Path] [(Path,Term)] --- newtype Path = Path [Either Label Term] --- type Name = Name Ident [Profile] --- type Label = AbsGFC.Label --- data Profile = Unify [Int] | Constant SyntaxForest --- SyntaxForest = FMeta --- | FNode Ident [[SyntaxForest]] --- | FString String --- | FInt Integer --- | FFloat Double -{- -data Term - = Arg Int Ident Path -- ^ argument variable, the 'Path' is a path - -- pointing into the term - | Constr :^ [Term] -- ^ constructor - | Rec [(Label, Term)] -- ^ record - | Term :. Label -- ^ record projection - | Tbl [(Term, Term)] -- ^ table of patterns\/terms - | Term :! Term -- ^ table selection - | Variants [Term] -- ^ variants - | Term :++ Term -- ^ concatenation - | Token String -- ^ single token - | Empty -- ^ empty string --} - - - - - --- type FGrammar = FCFGrammar FCat Name Token --- type FRule = FCFRule FCat Name Token --- type FCFGrammar cat name tok = [FCFRule cat name tok] --- data FCFRule cat name tok = --- FRule (Abstract cat name) (Array FLabel (Array FPointPos (FSymbol cat tok))) --- data Abstract cat name = Abs cat [cat] name --- data FSymbol cat tok = FSymCat cat FLabel Int | FSymTok tok --- type FLabel = Int --- type FPointPos = Int --- data FCat = FCat Int SCat [SPath] [(SPath,STerm)] --- newtype Path c t = Path [Either Label (Term c t)] --- type SCat = Ident.Ident --- type Fun = Ident.Ident --- type SPath = Path SCat Token --- type STerm = Term SCat Token --- type Name = NameProfile Fun --- data NameProfile a = Name a [Profile (SyntaxForest a)] --- SyntaxForest n = FMeta --- | FNode n [[SyntaxForest n]] --- | FString String --- | FInt Integer --- | FFloat Double --- type Token = String --- type Label = AbsGFC.Label --- data Profile a = Unify [Int] | Constant a --- type Constr = AbsGFC.CIdent -{- -data Term c t - = Arg Int c (Path c t) -- ^ argument variable, the 'Path' is a path - -- pointing into the term - | Constr :^ [Term c t] -- ^ constructor - | Rec [(Label, Term c t)] -- ^ record - | Term c t :. Label -- ^ record projection - | Tbl [(Term c t, Term c t)] -- ^ table of patterns\/terms - | Term c t :! Term c t -- ^ table selection - | Variants [Term c t] -- ^ variants - | Term c t :++ Term c t -- ^ concatenation - | Token t -- ^ single token - | Empty -- ^ empty string --} - |
