ruby_parser
Advanced tools
+14
-0
@@ -0,1 +1,15 @@ | ||
| === 3.6.6 / 2015-04-13 | ||
| * 1 minor enhancement: | ||
| * Added expr_labelarg state (eg: a:1) | ||
| * 5 bug fixes: | ||
| * Fix scan logging backtrace when DEBUG=1 | ||
| * Fixed kwsplat on 2.0 & 2.1. | ||
| * Fixed mandatory keyword block args. (cvortmann) | ||
| * Handle #$<x> in expanded strings/regexps where x is NOT a valid gvar name. | ||
| * Invalid gvar names raise a compile error. | ||
| === 3.6.5 / 2015-03-12 | ||
@@ -2,0 +16,0 @@ |
+10
-4
@@ -274,3 +274,3 @@ # encoding: UTF-8 | ||
| def is_beg? | ||
| in_lex_state? :expr_beg, :expr_value, :expr_mid, :expr_class | ||
| in_lex_state? :expr_beg, :expr_value, :expr_mid, :expr_class, :expr_labelarg | ||
| end | ||
@@ -410,3 +410,4 @@ | ||
| def process_gvar_oddity text | ||
| result :expr_end, "$", "$" # TODO: wtf is this? | ||
| return result :expr_end, "$", "$" if text == "$" # TODO: wtf is this? | ||
| rb_compile_error "#{text.inspect} is not allowed as a global variable name" | ||
| end | ||
@@ -678,3 +679,3 @@ | ||
| if !ruby18 and is_label_possible? and scan(/:(?!:)/) then | ||
| return result(:expr_beg, :tLABEL, [token, self.lineno]) | ||
| return result(:expr_labelarg, :tLABEL, [token, self.lineno]) | ||
| end | ||
@@ -1150,4 +1151,9 @@ | ||
| case | ||
| when scan(/#(?=[$@])/) then | ||
| when scan(/#(?=\$(-.|[a-zA-Z_0-9~\*\$\?!@\/\\;,\.=:<>\"\&\`\'+]))/) then | ||
| # TODO: !ISASCII | ||
| # ?! see parser_peek_variable_name | ||
| return :tSTRING_DVAR, nil | ||
| when scan(/#(?=\@\@?[a-zA-Z_])/) then | ||
| # TODO: !ISASCII | ||
| return :tSTRING_DVAR, nil | ||
| when scan(/#[{]/) then | ||
@@ -1154,0 +1160,0 @@ return :tSTRING_DBEG, nil |
@@ -82,3 +82,3 @@ # encoding: ASCII-8BIT | ||
| s = old_scan re | ||
| where = caller.first.split(/:/).first(2).join(":") | ||
| where = caller[1].split(/:/).first(2).join(":") | ||
| d :scan => [s, where] if s | ||
@@ -95,3 +95,3 @@ s | ||
| module RubyParserStuff | ||
| VERSION = "3.6.5" unless constants.include? "VERSION" # SIGH | ||
| VERSION = "3.6.6" unless constants.include? "VERSION" # SIGH | ||
@@ -98,0 +98,0 @@ attr_accessor :lexer, :in_def, :in_single, :file |
+2
-2
@@ -82,5 +82,5 @@ # -*- ruby -*- | ||
| sh "./yack.rb parse#{v}.output > yacc#{v}.txt" | ||
| sh "diff -du racc#{v}.txt yacc#{v}.txt || true" | ||
| sh "diff -du yacc#{v}.txt racc#{v}.txt || true" | ||
| puts | ||
| sh "diff -du racc#{v}.txt yacc#{v}.txt | wc -l" | ||
| sh "diff -du yacc#{v}.txt racc#{v}.txt | wc -l" | ||
| end | ||
@@ -87,0 +87,0 @@ end |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display