Class: Pione::Lang::ParserError

Inherits:
Parslet::ParseFailed
  • Object
show all
Defined in:
lib/pione/lang/lang-exception.rb

Overview

ParserError is raised when the parser finds syntax error.

Instance Method Summary collapse

Constructor Details

#initialize(str, expected, source) ⇒ ParserError

Creates an error.



212
213
214
215
216
217
# File 'lib/pione/lang/lang-exception.rb', line 212

def initialize(str, expected, source)
  @str = str
  @expected = expected
  @source = source
  super(str)
end

Instance Method Details

#messageObject



219
220
221
222
223
# File 'lib/pione/lang/lang-exception.rb', line 219

def message
  line, column = @source.line_and_column
  left = @source.consume(@source.chars_left).str.split("\n").first
  "%s(line: %s, column: %s): %s" % [@str, line, column, left]
end