X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=calu.git;a=blobdiff_plain;f=3a_asm%2FExpr_eval.hs;h=4924950a8161570bf0f887d1a5f47c0b47661d86;hp=6074074900b58a791de45ac380607a878c9acb07;hb=4f09e9365013bb8169a437c2cc2a28d415bbad93;hpb=9e638001d2958991736acf98d3f92d635f0d0ef2 diff --git a/3a_asm/Expr_eval.hs b/3a_asm/Expr_eval.hs index 6074074..4924950 100644 --- a/3a_asm/Expr_eval.hs +++ b/3a_asm/Expr_eval.hs @@ -17,7 +17,6 @@ lexer = P.makeTokenParser (haskellDef { reservedOpNames = ["*","/","+","-","<<", decimal = P.decimal lexer hexadecimal = P.hexadecimal lexer -parens = P.parens lexer reservedOp = P.reservedOp lexer expr :: [DictElem] -> Parser Word32 @@ -48,7 +47,8 @@ factor_spaces d = do 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);