From b96b36f43de3e2f8b58d5f539daa6f6d47f25870 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 25 Jun 2008 16:43:48 +0000 Subject: removed src for 2.9 --- src/Transfer/Core/Par.y | 203 ------------------------------------------------ 1 file changed, 203 deletions(-) delete mode 100644 src/Transfer/Core/Par.y (limited to 'src/Transfer/Core/Par.y') diff --git a/src/Transfer/Core/Par.y b/src/Transfer/Core/Par.y deleted file mode 100644 index ceeaa313f..000000000 --- a/src/Transfer/Core/Par.y +++ /dev/null @@ -1,203 +0,0 @@ --- This Happy file was machine-generated by the BNF converter -{ -{-# OPTIONS -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-} -module Transfer.Core.Par where -import Transfer.Core.Abs -import Transfer.Core.Lex -import Transfer.ErrM -} - -%name pModule Module -%name pExp Exp - --- 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 "_") } - '|' { PT _ (TS "|") } - '->' { PT _ (TS "->") } - '\\' { PT _ (TS "\\") } - '.' { PT _ (TS ".") } - 'Type' { PT _ (TS "Type") } - 'case' { PT _ (TS "case") } - 'data' { PT _ (TS "data") } - 'in' { PT _ (TS "in") } - 'let' { PT _ (TS "let") } - 'of' { PT _ (TS "of") } - 'rec' { PT _ (TS "rec") } - 'sig' { PT _ (TS "sig") } - 'where' { PT _ (TS "where") } - -L_quoted { PT _ (TL $$) } -L_integ { PT _ (TI $$) } -L_doubl { PT _ (TD $$) } -L_TMeta { PT _ (T_TMeta $$) } -L_CIdent { PT _ (T_CIdent $$) } -L_err { _ } - - -%% - -String :: { String } : L_quoted { $1 } -Integer :: { Integer } : L_integ { (read $1) :: Integer } -Double :: { Double } : L_doubl { (read $1) :: Double } -TMeta :: { TMeta} : L_TMeta { TMeta ($1)} -CIdent :: { CIdent} : L_CIdent { CIdent ($1)} - -Module :: { Module } -Module : ListDecl { Module $1 } - - -ListDecl :: { [Decl] } -ListDecl : {- empty -} { [] } - | Decl { (:[]) $1 } - | Decl ';' ListDecl { (:) $1 $3 } - - -Decl :: { Decl } -Decl : 'data' CIdent ':' Exp 'where' '{' ListConsDecl '}' { DataDecl $2 $4 $7 } - | CIdent ':' Exp { TypeDecl $1 $3 } - | CIdent '=' Exp { ValueDecl $1 $3 } - - -ConsDecl :: { ConsDecl } -ConsDecl : CIdent ':' Exp { ConsDecl $1 $3 } - - -ListConsDecl :: { [ConsDecl] } -ListConsDecl : {- empty -} { [] } - | ConsDecl { (:[]) $1 } - | ConsDecl ';' ListConsDecl { (:) $1 $3 } - - -ListPattern :: { [Pattern] } -ListPattern : {- empty -} { [] } - | ListPattern Pattern { flip (:) $1 $2 } - - -Pattern :: { Pattern } -Pattern : '(' CIdent ListPattern ')' { PCons $2 (reverse $3) } - | PatternVariable { PVar $1 } - | 'rec' '{' ListFieldPattern '}' { PRec $3 } - | String { PStr $1 } - | Integer { PInt $1 } - - -FieldPattern :: { FieldPattern } -FieldPattern : CIdent '=' Pattern { FieldPattern $1 $3 } - - -ListFieldPattern :: { [FieldPattern] } -ListFieldPattern : {- empty -} { [] } - | FieldPattern { (:[]) $1 } - | FieldPattern ';' ListFieldPattern { (:) $1 $3 } - - -PatternVariable :: { PatternVariable } -PatternVariable : CIdent { PVVar $1 } - | '_' { PVWild } - - -Exp :: { Exp } -Exp : 'let' '{' ListLetDef '}' 'in' Exp { ELet $3 $6 } - | 'case' Exp 'of' '{' ListCase '}' { ECase $2 $5 } - | Exp1 { $1 } - - -LetDef :: { LetDef } -LetDef : CIdent '=' Exp { LetDef $1 $3 } - - -ListLetDef :: { [LetDef] } -ListLetDef : {- empty -} { [] } - | LetDef { (:[]) $1 } - | LetDef ';' ListLetDef { (:) $1 $3 } - - -Case :: { Case } -Case : Pattern '|' Exp '->' Exp { Case $1 $3 $5 } - - -ListCase :: { [Case] } -ListCase : {- empty -} { [] } - | Case { (:[]) $1 } - | Case ';' ListCase { (:) $1 $3 } - - -Exp1 :: { Exp } -Exp1 : '\\' PatternVariable '->' Exp { EAbs $2 $4 } - | '(' PatternVariable ':' Exp ')' '->' Exp { EPi $2 $4 $7 } - | Exp2 { $1 } - - -Exp3 :: { Exp } -Exp3 : Exp3 Exp4 { EApp $1 $2 } - | Exp4 { $1 } - - -Exp4 :: { Exp } -Exp4 : Exp4 '.' CIdent { EProj $1 $3 } - | Exp5 { $1 } - - -Exp5 :: { Exp } -Exp5 : 'sig' '{' ListFieldType '}' { ERecType $3 } - | 'rec' '{' ListFieldValue '}' { ERec $3 } - | CIdent { EVar $1 } - | 'Type' { EType } - | String { EStr $1 } - | Integer { EInteger $1 } - | Double { EDouble $1 } - | TMeta { EMeta $1 } - | '(' Exp ')' { $2 } - - -FieldType :: { FieldType } -FieldType : CIdent ':' Exp { FieldType $1 $3 } - - -ListFieldType :: { [FieldType] } -ListFieldType : {- empty -} { [] } - | FieldType { (:[]) $1 } - | FieldType ';' ListFieldType { (:) $1 $3 } - - -FieldValue :: { FieldValue } -FieldValue : CIdent '=' Exp { FieldValue $1 $3 } - - -ListFieldValue :: { [FieldValue] } -ListFieldValue : {- empty -} { [] } - | FieldValue { (:[]) $1 } - | FieldValue ';' ListFieldValue { (:) $1 $3 } - - -Exp2 :: { Exp } -Exp2 : Exp3 { $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 -} - -- cgit v1.2.3