diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:43:48 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:43:48 +0000 |
| commit | b96b36f43de3e2f8b58d5f539daa6f6d47f25870 (patch) | |
| tree | 0992334be13cec6538a1dea22fbbf26ad6bdf224 /src/GF/CFGM/ParCFG.y | |
| parent | fe367412e0aeb4ad5c02de68e6eca382e0f96984 (diff) | |
removed src for 2.9
Diffstat (limited to 'src/GF/CFGM/ParCFG.y')
| -rw-r--r-- | src/GF/CFGM/ParCFG.y | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/src/GF/CFGM/ParCFG.y b/src/GF/CFGM/ParCFG.y deleted file mode 100644 index 7b3041b3b..000000000 --- a/src/GF/CFGM/ParCFG.y +++ /dev/null @@ -1,129 +0,0 @@ --- This Happy file was machine-generated by the BNF converter -{ -module ParCFG where -import AbsCFG -import LexCFG -import ErrM -} - -%name pGrammars Grammars - --- no lexer declaration -%monad { Err } { thenM } { returnM } -%tokentype { Token } - -%token - ';' { PT _ (TS ";") } - ':' { PT _ (TS ":") } - '.' { PT _ (TS ".") } - '->' { PT _ (TS "->") } - '_' { PT _ (TS "_") } - '[' { PT _ (TS "[") } - ']' { PT _ (TS "]") } - ',' { PT _ (TS ",") } - 'end' { PT _ (TS "end") } - 'grammar' { PT _ (TS "grammar") } - 'startcat' { PT _ (TS "startcat") } - -L_ident { PT _ (TV $$) } -L_integ { PT _ (TI $$) } -L_quoted { PT _ (TL $$) } -L_SingleQuoteString { PT _ (T_SingleQuoteString $$) } -L_err { _ } - - -%% - -Ident :: { Ident } : L_ident { Ident $1 } -Integer :: { Integer } : L_integ { (read $1) :: Integer } -String :: { String } : L_quoted { $1 } -SingleQuoteString :: { SingleQuoteString} : L_SingleQuoteString { SingleQuoteString ($1)} - -Grammars :: { Grammars } -Grammars : ListGrammar { Grammars (reverse $1) } - - -Grammar :: { Grammar } -Grammar : 'grammar' Ident ListFlag ListRule 'end' 'grammar' { Grammar $2 (reverse $3) (reverse $4) } - - -ListGrammar :: { [Grammar] } -ListGrammar : {- empty -} { [] } - | ListGrammar Grammar { flip (:) $1 $2 } - - -Flag :: { Flag } -Flag : 'startcat' Category { StartCat $2 } - - -ListFlag :: { [Flag] } -ListFlag : {- empty -} { [] } - | ListFlag Flag ';' { flip (:) $1 $2 } - - -Rule :: { Rule } -Rule : Fun ':' Profiles '.' Category '->' ListSymbol { Rule $1 $3 $5 $7 } - - -ListRule :: { [Rule] } -ListRule : {- empty -} { [] } - | ListRule Rule ';' { flip (:) $1 $2 } - - -Fun :: { Fun } -Fun : Ident { Cons $1 } - | '_' { Coerce } - - -Profiles :: { Profiles } -Profiles : '[' ListProfile ']' { Profiles $2 } - - -ListProfile :: { [Profile] } -ListProfile : {- empty -} { [] } - | Profile { (:[]) $1 } - | Profile ',' ListProfile { (:) $1 $3 } - - -Profile :: { Profile } -Profile : '[' ListInteger ']' { UnifyProfile $2 } - | Ident { ConstProfile $1 } - - -ListInteger :: { [Integer] } -ListInteger : {- empty -} { [] } - | Integer { (:[]) $1 } - | Integer ',' ListInteger { (:) $1 $3 } - - -Symbol :: { Symbol } -Symbol : Category { CatS $1 } - | String { TermS $1 } - - -ListSymbol :: { [Symbol] } -ListSymbol : '.' { [] } - | Symbol { (:[]) $1 } - | Symbol ListSymbol { (:) $1 $2 } - - -Category :: { Category } -Category : SingleQuoteString { Category $1 } - - - -{ - -returnM :: a -> Err a -returnM = return - -thenM :: Err a -> (a -> Err b) -> Err b -thenM = (>>=) - -happyError :: [Token] -> Err a -happyError ts = - Bad $ "syntax error at " ++ tokenPos ts ++ if null ts then [] else (" before " ++ unwords (map prToken (take 4 ts))) - -myLexer = tokens -} - |
