import Text.ParserCombinators.Parsec.Language
import System.IO
import Data.Word
+import Data.List
import Data.Bits
lexer :: P.TokenParser ()
decimal = P.decimal lexer
hexadecimal = P.hexadecimal lexer
-parens = P.parens lexer
reservedOp = P.reservedOp lexer
expr :: [DictElem] -> Parser Word32
factor :: [DictElem] -> Parser Word32
factor d =
do {
- parens (expr d);
+ char '('; r <- expr d; char ')';
+ return r
} <|> do {
-- define or label
s <- foldl1 (<|>) (fmap (try . string . fst) d);