Class: Rley::Parser::UnexpectedToken

Inherits:
ExpectationNotMet show all
Defined in:
lib/rley/parser/error_reason.rb

Overview

This parse error occurs when the current token from the input is unexpected according to the grammar rules.

Instance Attribute Summary

Attributes inherited from ExpectationNotMet

#expected_terminals, #last_token

Attributes inherited from ErrorReason

#position, #production

Instance Method Summary collapse

Methods inherited from ExpectationNotMet

#initialize

Methods inherited from ErrorReason

#initialize, #inspect, #message

Constructor Details

This class inherits a constructor from Rley::Parser::ExpectationNotMet

Instance Method Details

#to_sObject

Returns the reason's message.



79
80
81
82
83
84
85
86
# File 'lib/rley/parser/error_reason.rb', line 79

def to_s
  err_msg = "Syntax error at or near token #{position + 1} "
  err_msg << ">>>#{last_token.lexeme}<<<\n"
  err_msg << expectations
  err_msg << ", found a '#{last_token.terminal.name}' instead."

  return err_msg
end