Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 11, 2014
  1. @zenspider

    - Handle return/next/break/yield w/ block call (WHY).

    zenspider authored
    Closes #140.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9573]
Commits on Mar 24, 2014
  1. @zenspider

    fixed autotest mappings for 2.1 tests

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9294]
Commits on Jan 15, 2014
  1. @zenspider

    This is a biggie...

    zenspider authored
    ! Replaced hand-written/optimized f'd-up lexer with an oedipus_lex generated lexer.
    + Removed RubyParser#advance. RubyParser#next_token takes care of everything now.
    + RubyParser#next_token now expects RubyLexer#next_token to return a pair (type, val).
    + Added RubyLexer #command_state and #last_state to deal with oedipus_lex differences.
    + Removed RubyLexer's @src. Now taken care of by oedipus_lex.
    + Added a bunch of RubyLexer scanning methods: beginning_of_line?, check, scan, etc.
    + Removed RubyLexer#yacc_value now that next_token returns pairs.
    + Removed RubyLexer#parse_number. Handled by oedipus_lex.
    + Added a bunch of process_* methods extracted from old yylex. process_amper, etc.
    + Finally dropped RPStringScanner's BS line number calculation (lineno). 
    + Finally dropped RPStringScanner's BS #current_line.
    + Removed lib/gauntlet_rubyparser.rb. I just don't use it anymore. Too slow.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9161]
Commits on Aug 13, 2013
  1. @zenspider

    minor cleanup quelling 1.9 warnings

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 8889]
Commits on Jun 7, 2013
  1. @zenspider

    ! Added (rough draft) 2.0 support. Still missing some small / rare th…

    zenspider authored
    + Fixed rake to < 10, because 10's file dependency handling is so very broken.
    + Added compare20 rake task to diff the grammar architecture against MRI.
    + Switched `rake debug` to default to 2.0.
    - Switched ruby_parse_extract_error to use binread.
    - Fixed BEGIN {} to return a sexp.
    - Fixed op_asgn nodes to #to_sym their args properly.
    - Fixed block_command and block_call (eg a.b c d) to #to_sym their args properly.
    - Fixed assoc args in 1.9.
    - Cleaned up a LOT of arg handling (block and defn, not calls) by using #args.
    - Fixed optional value block args.
    - Fixed support for empty symbol (wtf?).
    - Lexer is now declared UTF-8 internally. Hopefully this will fix the encoding mess.
    - Extended IDENT_CHAR_RE on 1.9+ to top out at \u{10ffff}... because we NEED a million unicode chars.
    - ESC_RE is set to unicode. This seems problematic. *shrug*
    - Switched a number of lexical constructs to use IDENT_CHAR_RE instead of \w. I wish there were something cleaner for regexps + unicode.
    + Added %i(symbol-names...) support. (%I too)
    - Apparently ruby doesn't warn for escaped octal that goes above 7. wtf.
    - RubyLexer#unescape ignores bad octal/hex and returns unicode strings.
    - Fixed arg_blk_pass to allow for sub-args nodes.
    + Added shadow nodes for scoped block args.
    - Fixed assignable to allow for sexps to be passed to it.
    - Made UTF_8 the default guess on encodings when it isn't explicit.
    + Added 140 more tests, jumping test count from 1376 to 2143. Yay for test reuse!
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 8669]
Commits on Oct 16, 2012
  1. @zenspider

    dynamically skip corpus and gauntlet files in autotest.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7827]
Commits on Aug 7, 2012
  1. @zenspider

    oops. didn't mean to commit this

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7701]
  2. @zenspider

    + 1.9: Added encoding magic comment support to 1.9 parser.

    zenspider authored
    + 1.8: Added basic encoding support to 1.8 parser. Assumes -Ku.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7700]
Commits on Jun 27, 2012
  1. @zenspider

    fixed stupid warning in .autotest

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7601]
Commits on Jun 21, 2012
  1. @zenspider

    + 1.9: Moved kRETURN/kBREAK/kNEXT from command_call to command

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7575]
Commits on Nov 3, 2011
  1. @zenspider

    Teach autotest about 18 and 19 parsers

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6726]
Commits on Jul 1, 2011
  1. @zenspider

    Isolated, fixed paths for PT->SP changes.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6423]
Commits on Aug 18, 2009
  1. @zenspider

    - Fixed .autotest for minitest

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 5395]
Commits on Apr 3, 2009
  1. @zenspider

    + Updated .autotest and rakefile wrt rcov for new hoe capabilities

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 4827]
Commits on Sep 24, 2008
  1. @zenspider

    Flattened resbodies in rescue node. Fixed .autotest file.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 4229]
Commits on Aug 16, 2008
  1. @zenspider

    Added restart and disabled rcov for now.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 4139]
Commits on Aug 15, 2008
  1. @zenspider

    Fixed autotest mapping

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 4135]
Commits on Mar 9, 2008
  1. @zenspider

    Added parser dependency for multi.

    zenspider authored
    Removed Token, replaced with Sexp.
    Fixed for 1.9 string/char changes.
      Added missing Regexp constants and did it so it'd work on 1.9.
      Added Fixnum#ord.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3867]
Commits on Feb 19, 2008
  1. @zenspider

    Refactored several smallish areas.

    zenspider authored
    Rolled temp refactorings back in.
    Refactored unary +/- together.
    Refactored ')', ']', '}' lexers together.
    Rolled gvar sub scanners into main scanner.
    Sorted ruby_parser_extras.
    Finally fixed an annoyance by nilling yacc_value at start of yylex.
    Started profiling the code...
    Added some cheap method call reductions (src = self.src) in yylex.
    Switched back to getch since it is a tad faster.
    Uses pure ruby racc if ENV['PURE_RUBY'], otherwise use c.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3847]
Commits on Feb 13, 2008
  1. @zenspider

    Moved StringScanner back to ruby_parser_extras.rb

    zenspider authored
    Renamed *qwords to *awords.
    Fixed bug with "%w[blah \\\n"
    Added more edge case tests for fname->arg state transitions, $-, keywords, regexp backspaces, * args, # in strings, %w with newlines, bad chars in symbols, double and single quoted symbols.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3829]
Commits on Feb 5, 2008
  1. @zenspider

    More (minor) lexer cleanup. Added profiling tasks.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3811]
Commits on Feb 3, 2008
  1. @zenspider

    Switched .autotest to new API.

    zenspider authored
           Split out lib/ruby_parser_extras.rb so lexer is standalone.
           Added lexer tests for &, &&, &&=, &=, |, |=, ||, ||=, +@, +, +=, -@, -, -=, .., ..., ., ?a, ), ?\M-\C-a, ], floats, }, ::, /, /=, /regexp/, ^, ^=, ",", ~, ~@, %, %=, >=, >>, >>=, >, a?b:c, (, [, def [], def []=, {, =>, !, !=, !~, # comments, =begin coments, consts, ;, =, ==, ===, $_, identifiers, 42, 4_2, 0x2a, 0d42, 052, 0b101010, 1e10, *, **, **=, *=, and probably more.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3805]
Commits on Dec 16, 2007
  1. @zenspider

    Added unit to exceptions list.

    zenspider authored
    Fixed flip2.
    Fixed dstr/evstr combo problems.
    Fixed value_expr with a nested if.
    Fixed \n\r issues in heredocs.
    Fixed case stmts w/o expressions.
    Added backslash-C (eg "\C-M-a") support.
    DRegexps now add numerical flag (if non-zero).
    Fixed a ton of extra begins and stuff, esp in logical operators.
    Took some whacks at the missing/extra block nodes.
    I'm stuck w/ two failing tests (essentially the same).
    God this sucks.
    Suggestions more than welcome. I'll owe you a **beer** or something.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3709]
Commits on Dec 12, 2007
  1. @zenspider

    Made autotest file awesome.

    zenspider authored
    Made block_append a little bit more accurate.
    Added paren attrib to Sexp.
    logop now walks the tree correctly, wasn't respecting parens too deep.
    Fixed list_append.
    Fixed evstr usage.
    Fixed void_stmts' begin removals.
    Hacked in \r handling... still broken.
    compstmt prunes begins now.
    Fixed to_ary.
    Fixed op_asgn.
    Fixed unary minus on lits.
    Fixed trailing nil on for.
    Fixed dxstr and dregx.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3701]
Commits on Dec 3, 2007
  1. @zenspider

    Excluded whitespace differences in unit diff for autotest.

    zenspider authored
    Added dynamic variable use marking.
    Added dyna_init (very very loose port) for block adding in very specific contexts.
    Fixed missing trailing newline bug in heredoc processing.
    Fixed extra trailing newline bug in heredoc processing. go figure. :P
    Fixed argless aref fcalls.
    Env#pop no longer raises if empty. Seems by design.
    Added line counts to zomgpony test names.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3690]
Commits on Nov 16, 2007
  1. @zenspider

    Rearranged some more, pulling good (or at least acceptable) stuff up,…

    zenspider authored
    … shit down.
    More cleanup. SyntaxException is now plain old SyntaxError.
    EOF is now nil as god intended. 
    Fixed state tracking bug so various do blocks work now.
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3659]
  2. @zenspider

    More cleanup centered around LexState and other crap.

    zenspider authored
    Fixed a couple bugs. Lots more to flesh out.
    Added a DOOZY of a test suite by using ParseTree on stdlib.
    Hundreds of bugs to fix... going to do some more cleanup first.
    Lack of readability is really getting on my nerves. 
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3657]
Commits on Nov 15, 2007
  1. @zenspider

    Added .autotest so it'll compile the grammar before testing.

    zenspider authored
    Fixed up rakefile so autotest wouldn't test twice per.
    Added list_append, literal_concat and got dstr working at least somewhat.
    Started stripping dead code caused by awful jruby design.
    Nuked StringTerm class in favor of much simpler s(:strterm...)
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 3655]
Something went wrong with that request. Please try again.