Class: MathEngine::Parser
- Inherits:
-
Object
- Object
- MathEngine::Parser
- Defined in:
- lib/parser.rb
Instance Method Summary collapse
-
#initialize(lexer) ⇒ Parser
constructor
A new instance of Parser.
- #parse ⇒ Object
Constructor Details
#initialize(lexer) ⇒ Parser
Returns a new instance of Parser.
5 6 7 |
# File 'lib/parser.rb', line 5 def initialize(lexer) @lexer = lexer end |
Instance Method Details
#parse ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/parser.rb', line 9 def parse #statement = { <identifier> <assignment> } expression <end> #expression = term { ( <addition> | <subtraction> ) term } #term = exp { ( <multiplication> | <division> ) exp } #exp = factor { ( <exponent> | <modulus> ) factor } #factor = <call> | <identifier> | <number> | ( <open_parenthesis> expression <close_parenthesis> ) #call = <identifier> <open_parenthesis> { call_parameter } <close_parenthesis> #call_parameter = <expression> { <comma> call_parameter } statement end |