20 lines
385 B
Haskell
20 lines
385 B
Haskell
module Parser where
|
|
|
|
import qualified Lexer
|
|
|
|
type AST = Expr
|
|
|
|
data Expr = Add Term Expr
|
|
| Sub Term Expr
|
|
| ETerm Term
|
|
deriving Show
|
|
|
|
data Term = Mult Factor Term
|
|
| Div Factor Term
|
|
| TFactor Factor
|
|
deriving Show
|
|
|
|
data Factor = Integer Int
|
|
| Parantheses Expr
|
|
| NegFactor Factor
|
|
deriving Show
|