def parse(input)
@lexer = Lexer.new(input)
expression_value = expression
token = @lexer.get_next_token
if token.kind == Token::End
expression_value
else
case token.kind
when Token::GThan
expression_value > expression ? 1 : 0
when Token::LThan
expression_value < expression ? 1 : 0
when Token::Equal
expression_value == expression ? 1 : 0
when Token::NotEqual
expression_value != expression ? 1 : 0
when Token::GThanE
expression_value >= expression ? 1 : 0
when Token::LThanE
expression_value <= expression ? 1 : 0
else
raise 'End expected'
end
end
end