expressions
This commit is contained in:
parent
75a33c2d94
commit
f5e7b7c091
5 changed files with 95 additions and 21 deletions
|
|
@ -9,13 +9,12 @@ run source = do
|
|||
case tokensMaybe of
|
||||
Left UnexpectedCharacterError -> putStrLn "Unexpected character"
|
||||
Right tokens -> do
|
||||
let exprMaybe = parse tokens
|
||||
case exprMaybe of
|
||||
let stmtMaybe = parse tokens
|
||||
case stmtMaybe of
|
||||
Left ExpectedExpressionError -> putStrLn "Expected expression"
|
||||
Left MismatchedParenthesesError -> putStrLn "Mismatched parentheses"
|
||||
Right expr -> do
|
||||
result <- eval expr
|
||||
print result
|
||||
Left ExpectedSemicolonError -> putStrLn "Expected semicolon"
|
||||
Right statements -> runStatements statements
|
||||
|
||||
main :: IO ()
|
||||
main = putStr ">> " >> hFlush stdout >> getLine >>= run
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue