3a_asm: FIX: weird parens bug. whatever, it works now
authorBernhard Urban <lewurm@gmail.com>
Thu, 13 Jan 2011 23:28:09 +0000 (00:28 +0100)
committerBernhard Urban <lewurm@gmail.com>
Thu, 13 Jan 2011 23:28:09 +0000 (00:28 +0100)
3a_asm/Expr_eval.hs
3a_asm/notes

index 6074074900b58a791de45ac380607a878c9acb07..4924950a8161570bf0f887d1a5f47c0b47661d86 100644 (file)
@@ -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);
index 0ef411df61227a291559d7a0e154a6ba0d7f8b1e..e6bf0d0415e94edcd130d59b47dfddfa950732eb 100644 (file)
@@ -2,7 +2,6 @@ BUGS:
 - parsers2/eval: kann nur "0-1" und ned "-1" auswerten
 - parsers2/eval: aufloesen von zwei labels x und y funktioniert nicht, wenn x ein
   echter prefix von y ist (longest input match anyone?)
-- parsers2/eval: klammern bei ausdruecken (und zwar im asm, ned expr selbst...)
 - parsers2: bei instr branches addresse durch 4 rechnen (ldi vorm brr -> RAGE)
 
 WUENSCHE: