Sha256: 21f97556ecccb787fb97ce8efe319a78bcad0d190ec0ca8794c993675f6ed136

Contents?: true

Size: 731 Bytes

Versions: 5

Compression:

Stored size: 731 Bytes

Contents

module CoffeeScript

  # Racc will raise this Exception whenever a syntax error occurs. The main
  # benefit over the Racc::ParseError is that the CoffeeScript::ParseError is
  # line-number aware.
  class ParseError < Racc::ParseError

    def initialize(token_id, value, stack)
      @token_id, @value, @stack = token_id, value, stack
    end

    def message(source_file=nil)
      line      = @value.respond_to?(:line) ? @value.line : "END"
      line_part = source_file ? "#{source_file}:#{line}:" : "line #{line}:"
      id_part   = @token_id != @value.inspect ? ", unexpected #{@token_id.downcase}" : ""
      "#{line_part} syntax error for '#{@value.to_s}'#{id_part}"
    end
    alias_method :inspect, :message

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
coffee-script-0.1.4 lib/coffee_script/parse_error.rb
coffee-script-0.1.3 lib/coffee_script/parse_error.rb
coffee-script-0.1.2 lib/coffee_script/parse_error.rb
coffee-script-0.1.1 lib/coffee_script/parse_error.rb
coffee-script-0.1.0 lib/coffee_script/parse_error.rb