X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Text%2FParserCombinators%2FParsec%2FLanguage.hs;fp=Text%2FParserCombinators%2FParsec%2FLanguage.hs;h=0000000000000000000000000000000000000000;hb=6b42ff99c867e8eb18b22d1d50e914f1fc532dd5;hp=838a348d31229339bb4ab9bf97da64d5e692bf75;hpb=b21d4af465d575d0072ddf97e178e0e9545f77ba;p=ghc-base.git diff --git a/Text/ParserCombinators/Parsec/Language.hs b/Text/ParserCombinators/Parsec/Language.hs deleted file mode 100644 index 838a348..0000000 --- a/Text/ParserCombinators/Parsec/Language.hs +++ /dev/null @@ -1,118 +0,0 @@ ------------------------------------------------------------------------------ --- | --- Module : Text.ParserCombinators.Parsec.Language --- Copyright : (c) Daan Leijen 1999-2001 --- License : BSD-style (see the file libraries/base/LICENSE) --- --- Maintainer : daan@cs.uu.nl --- Stability : provisional --- Portability : non-portable (uses non-portable module Text.ParserCombinators.Parsec.Token) --- --- A helper module that defines some language definitions that can be used --- to instantiate a token parser (see "Text.ParserCombinators.Parsec.Token"). --- ------------------------------------------------------------------------------ - -module Text.ParserCombinators.Parsec.Language - ( haskellDef, haskell - , mondrianDef, mondrian - - , emptyDef - , haskellStyle - , javaStyle - , LanguageDef (..) - ) where -import Text.ParserCombinators.Parsec -import Text.ParserCombinators.Parsec.Token - - ------------------------------------------------------------ --- Styles: haskellStyle, javaStyle ------------------------------------------------------------ -haskellStyle= emptyDef - { commentStart = "{-" - , commentEnd = "-}" - , commentLine = "--" - , nestedComments = True - , identStart = letter - , identLetter = alphaNum <|> oneOf "_'" - , opStart = opLetter haskellStyle - , opLetter = oneOf ":!#$%&*+./<=>?@\\^|-~" - , reservedOpNames= [] - , reservedNames = [] - , caseSensitive = True - } - -javaStyle = emptyDef - { commentStart = "/*" - , commentEnd = "*/" - , commentLine = "//" - , nestedComments = True - , identStart = letter - , identLetter = alphaNum <|> oneOf "_'" - , reservedNames = [] - , reservedOpNames= [] - , caseSensitive = False - } - ------------------------------------------------------------ --- minimal language definition ------------------------------------------------------------ -emptyDef = LanguageDef - { commentStart = "" - , commentEnd = "" - , commentLine = "" - , nestedComments = True - , identStart = letter <|> char '_' - , identLetter = alphaNum <|> oneOf "_'" - , opStart = opLetter emptyDef - , opLetter = oneOf ":!#$%&*+./<=>?@\\^|-~" - , reservedOpNames= [] - , reservedNames = [] - , caseSensitive = True - } - - - ------------------------------------------------------------ --- Haskell ------------------------------------------------------------ -haskell :: TokenParser st -haskell = makeTokenParser haskellDef - -haskellDef = haskell98Def - { identLetter = identLetter haskell98Def <|> char '#' - , reservedNames = reservedNames haskell98Def ++ - ["foreign","import","export","primitive" - ,"_ccall_","_casm_" - ,"forall" - ] - } - -haskell98Def = haskellStyle - { reservedOpNames= ["::","..","=","\\","|","<-","->","@","~","=>"] - , reservedNames = ["let","in","case","of","if","then","else", - "data","type", - "class","default","deriving","do","import", - "infix","infixl","infixr","instance","module", - "newtype","where", - "primitive" - -- "as","qualified","hiding" - ] - } - - ------------------------------------------------------------ --- Mondrian ------------------------------------------------------------ -mondrian :: TokenParser st -mondrian = makeTokenParser mondrianDef - -mondrianDef = javaStyle - { reservedNames = [ "case", "class", "default", "extends" - , "import", "in", "let", "new", "of", "package" - ] - , caseSensitive = True - } - -