# File lib/expression_parser/parser.rb, line 55 def factor factor1 = number multiplicative_operators = [Token::Multiply, Token::Divide, Token::MOD] token = @lexer.get_next_token while multiplicative_operators.include?(token.kind) factor2 = number if token.kind == Token::Multiply factor1 *= factor2 elsif token.kind == Token::MOD factor1 %= factor2 else factor1 /= factor2 end token = @lexer.get_next_token end @lexer.revert factor1 end