lib/parser.rb in parser-2.1.0.pre1 vs lib/parser.rb in parser-2.1.0.pre2
- old
+ new
@@ -14,10 +14,11 @@
##
# @api public
#
module Parser
require 'parser/version'
+ require 'parser/messages'
module AST
require 'parser/ast/node'
require 'parser/ast/processor'
end
@@ -61,61 +62,9 @@
end
require 'parser/base'
require 'parser/rewriter'
-
- ERRORS = {
- # Lexer errors
- :unicode_point_too_large => 'invalid Unicode codepoint (too large)',
- :invalid_escape => 'invalid escape character syntax',
- :incomplete_escape => 'incomplete character syntax',
- :invalid_hex_escape => 'invalid hex escape',
- :invalid_unicode_escape => 'invalid Unicode escape',
- :unterminated_unicode => 'unterminated Unicode escape',
- :escape_eof => 'escape sequence meets end of file',
- :string_eof => 'unterminated string meets end of file',
- :regexp_options => 'unknown regexp options: %{options}',
- :cvar_name => "`%{name}' is not allowed as a class variable name",
- :ivar_name => "`%{name}' is not allowed as an instance variable name",
- :trailing_in_number => "trailing `%{character}' in number",
- :empty_numeric => 'numeric literal without digits',
- :invalid_octal => 'invalid octal digit',
- :no_dot_digit_literal => 'no .<digit> floating literal anymore; put 0 before dot',
- :bare_backslash => 'bare backslash only allowed before newline',
- :unexpected => "unexpected `%{character}'",
- :embedded_document => 'embedded document meets end of file (and they embark on a romantic journey)',
-
- # Lexer warnings
- :invalid_escape_use => 'invalid character syntax; use ?%{escape}',
- :ambiguous_literal => 'ambiguous first argument; parenthesize arguments or add whitespace to the right',
- :ambiguous_prefix => "`%{prefix}' interpreted as argument prefix",
-
- # Parser errors
- :nth_ref_alias => 'cannot define an alias for a back-reference variable',
- :begin_in_method => 'BEGIN in method',
- :backref_assignment => 'cannot assign to a back-reference variable',
- :invalid_assignment => 'cannot assign to a keyword',
- :module_name_const => 'class or module name must be a constant literal',
- :unexpected_token => 'unexpected token %{token}',
- :argument_const => 'formal argument cannot be a constant',
- :argument_ivar => 'formal argument cannot be an instance variable',
- :argument_gvar => 'formal argument cannot be a global variable',
- :argument_cvar => 'formal argument cannot be a class variable',
- :duplicate_argument => 'duplicate argument name',
- :empty_symbol => 'empty symbol literal',
- :odd_hash => 'odd number of entries for a hash',
- :singleton_literal => 'cannot define a singleton method for a literal',
- :dynamic_const => 'dynamic constant assignment',
- :module_in_def => 'module definition in method body',
- :class_in_def => 'class definition in method body',
- :unexpected_percent_str => '%{type}: unknown type of percent-literal',
- :block_and_blockarg => 'both block argument and literal block are passed',
- :masgn_as_condition => 'multiple assignment in conditional context',
-
- # Parser warnings
- :useless_else => 'else without rescue is useless',
- }.freeze
##
# Verify that the current Ruby implementation supports Encoding.
# @raise [RuntimeError]
def self.check_for_encoding_support