module Erb.Ruby where
data Value
= Literal String
| Array [Expression]
deriving (Show, Ord, Eq)
data Expression
= LookupOperation Expression Expression
| PlusOperation Expression Expression
| MinusOperation Expression Expression
| DivOperation Expression Expression
| MultiplyOperation Expression Expression
| ShiftLeftOperation Expression Expression
| ShiftRightOperation Expression Expression
| AndOperation Expression Expression
| OrOperation Expression Expression
| EqualOperation Expression Expression
| DifferentOperation Expression Expression
| AboveOperation Expression Expression
| AboveEqualOperation Expression Expression
| UnderEqualOperation Expression Expression
| UnderOperation Expression Expression
| RegexpOperation Expression Expression
| NotRegexpOperation Expression Expression
| NotOperation Expression
| NegOperation Expression
| ConditionalValue Expression Expression
| Object Expression
| MethodCall Expression Expression
| BlockOperation String
| Value Value
| BTrue
| BFalse
| Error String
deriving (Show, Ord, Eq)
data RubyStatement
= Puts Expression
deriving(Show)