Changeset 7949 for src/Pugs/Lexer.hs
- Timestamp:
- 11/13/05 17:31:09 (3 years ago)
- svk:copy_cache_prev:
- 10363
- Files:
-
- 1 modified
-
src/Pugs/Lexer.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Lexer.hs
r7943 r7949 61 61 maybeParens :: CharParser st a -> CharParser st a 62 62 maybeParens p = choice [ parens p, p ] 63 maybeBrackets :: CharParser st a -> CharParser st a 64 maybeBrackets p = choice [ brackets p, p ] 63 64 maybeVerbatimBrackets :: CharParser st a -> CharParser st a 65 maybeVerbatimBrackets p = choice [ verbatimBrackets p, p ] 65 66 66 67 parens :: CharParser st a -> CharParser st a … … 205 206 206 207 charNum :: GenParser Char st Char 207 charNum = do{ code <- decimal 208 <|> do{ char 'o'; maybeBrackets $ number 8 octDigit } 209 <|> do{ char 'x'; maybeBrackets $ number 16 hexDigit } 210 <|> do{ char 'd'; maybeBrackets $ number 10 digit } 211 ; return (toEnum (fromInteger code)) 212 } 208 charNum = do 209 code <- choice 210 [ decimal 211 , based 'o' 8 octDigit 212 , based 'x' 16 hexDigit 213 , based 'd' 10 digit 214 ] 215 return . toEnum $ fromInteger code 216 where 217 based ch num p = do 218 char ch 219 let p' = number num p 220 choice [ verbatimBrackets p', p' ] 213 221 214 222 number :: Integer -> GenParser tok st Char -> GenParser tok st Integer
