@@ -1,7 +1,7 @@
1{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-}
1{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-}
3module Core.CoreParser(parseTerm, parseFile, parseDef, pTerm, iName,
3module Core.CoreParser(parseTerm, parseFile, parseDef, pTerm, iName,
4− idrisLexer, maybeWithNS, pDocComment) where
4+ idrisLexer, maybeWithNS, pDocComment, opChars) where
6import Core.TT
6import Core.TT
@@ -39,8 +39,11 @@ idrisDef = haskellDef {
39 "Bits8", "Bits16", "Bits32", "Bits64"]
39 "Bits8", "Bits16", "Bits32", "Bits64"]
42+-- | The characters allowed in operator names
43+opChars = ":!#$%&*+./<=>?@\\^|-~"
42−iOpStart = oneOf ":!#$%&*+./<=>?@\\^|-~"
45+iOpStart = oneOf opChars
43−iOpLetter = oneOf ":!#$%&*+./<=>?@\\^|-~"
46+iOpLetter = oneOf opChars
44-- <|> letter
47-- <|> letter
46idrisLexer :: TokenParser a
49idrisLexer :: TokenParser a