Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 11, 2014
  1. Ryan Davis

    - 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 14, 2014
  1. Ryan Davis

    ! Added initial support for ruby 2.1 syntax. Doesn't have numeric ext…

    zenspider authored
    …ensions yet.
    
    Cleaned up a lot of cruft in the Rakefile.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9269]
Commits on Mar 8, 2014
  1. Ryan Davis

    Hook into my dev copy of oedipus_lex.

    zenspider authored
    + Converted ruby_lexer.rex to use new grouping mechanism. ~15% improvement in speed.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9259]
Commits on Feb 8, 2014
  1. Ryan Davis

    + Added StackState#store and #restore.

    zenspider authored
    - 1.8/1.9/2.0: Fixed tSTRING_DBEG w/ f'd up amounts of nesting + braces + do/end. yeah. I'm as confused as you are.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9216]
Commits on Jan 23, 2014
  1. Ryan Davis

    + Updated to oedipus_lex 2.1+.

    zenspider authored
    + Added -s flag to ruby_parse_extract_error to output timings.
    - Removed ESC_RE from RubyLexer. Must have slipped through.
    - Max out unicode hex values to 2-4 or 2-6 chars or pack will overflow and puke.
    - Fixed lexing symbol!= vs symbol!. Please use your spacebar. Think of the children.
    + TRYING a new scheme to figure out encodings... but I'm about to throw in the towel. I hate this stuff so much.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9210]
Commits on Jan 17, 2014
  1. Ryan Davis

    rake debug needs to invoke the lexer rule

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9191]
Commits on Jan 16, 2014
  1. Ryan Davis

    Pushed oedipus_lex rakefile code to Hoe

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

    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 Jan 8, 2014
  1. Ryan Davis

    minor cleanup

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9143]
Commits on Jan 2, 2014
  1. Ryan Davis

    Added explicit MIT license

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9112]
  2. Ryan Davis

    - Fix constant re-build on ruby 2.0 + rake 10.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 9109]
Commits on Jun 24, 2013
  1. Ryan Davis

    Switched debug_ruby task to ruby20.

    zenspider authored
    Renamed tDBL_SPLAT to tDSTAR to match mri.
    Added RubyParser#call_args to help build sexps for calls.
    - 2.0: Fixed a number of block args scenarios w/ kwargs
    - 2.0: Fixed args_tail mismatching against lexer.
    - 2.0: Fixed f_block_kw production.
    - 2.0: Fixed f_block_kwarg production.
    - 2.0: Fixed assocs to return a hash node.
    - 2.0: Implemented kwsplat nodes.
    - 2.0: Fixed lexing of kwsplat nodes.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 8727]
Commits on Jun 7, 2013
  1. Ryan Davis

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

    zenspider authored
    …ings.
    
    + 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 May 23, 2013
  1. Ryan Davis

    Added minitest path

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 8588]
Commits on Nov 26, 2012
  1. Ryan Davis

    prepped for update

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 8016]
Commits on Nov 14, 2012
  1. Ryan Davis

    Minor enhancements to my debug and bugs tasks

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7970]
Commits on Nov 9, 2012
  1. Ryan Davis

    + Added RP_TIMEOUT env var to override default timeout of 10 seconds.

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7935]
Commits on Nov 2, 2012
  1. Ryan Davis

    prepped for release

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7895]
Commits on Oct 17, 2012
  1. Ryan Davis

    Added debug_ruby task to help me compare against MRI.

    zenspider authored
    - Fixed lexing of :a==>b vs :a===b vs :a==>b. P.S. Your space bar is broken. chump.
    - 1.9: Fixed lex state after lexing ? in trinary.
    - 1.9: Fixed parsing of "1 ? b('') : 2\na d: 3"... ARE YOU NOT GLAD?!?!
    Massively cleaned up yylex_paren19... to the point where it should prolly die.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7833]
Commits on Jul 22, 2012
  1. Ryan Davis

    + Added 'rake extract F=path' task to quickly extract errors from lar…

    zenspider authored
    …ge files
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7667]
Commits on Jul 21, 2012
  1. Ryan Davis

    + 'rake debug' defaults to 1.9 parser since that's all I'm doing thes…

    zenspider authored
    …e days
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7662]
Commits on Jun 20, 2012
  1. Ryan Davis

    Switched from deprecated -g flag to -t for racc

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7566]
Commits on Jun 8, 2012
  1. Ryan Davis

    + Updated to sexp_processor ~> 4.0

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7529]
Commits on May 22, 2012
  1. Ryan Davis

    + `rake debug` prints the output if it succeeds.

    zenspider authored
    Added tLBRACK2 to clean up quoted output in parser. I hate that shit.
    + Started doing comparative refactoring between MRI's 1.9 parser and RP's. Shouldn't differ functionally except where we missed stuff in RP.
    + Added backref_assign_error (needs tests)
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7469]
Commits on Apr 17, 2012
  1. Ryan Davis

    + Added R arg to debug rake task to debug ruby straight up

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7347]
Commits on Apr 13, 2012
  1. Ryan Davis

    + Added debug task to help quickly get into a bug

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7327]
Commits on Apr 12, 2012
  1. Ryan Davis

    Added compare18 and compare19 tasks to help me diff and compare again…

    zenspider authored
    …st MRI
    
    - Renamed awords to qwords to match stupid MRI naming. (1.8, 1.9) :(
    - Fixed reswords to match MRI (1.8, 1.9)
    - Entirely reworked block arg handling. (1.8)
    - Added missing gvar arg error. (1.8)
    - Split block_var from for_var. (1.8, 1.9)
    - Made lambda w/o arg list zero out the arg slot.
    - Split 1.8 from 1.9 open paren lexer. Gawd that's ugly code.
    Refactored both 1.8 and 1.9 open paren lexing code into separate methods.
    Added d method to help debugging output inline with debugging racc output.
    Added block_var to handle generating all block_var nodes
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7324]
Commits on Feb 24, 2012
  1. Ryan Davis

    - Fixed deps for parser

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7093]
Commits on Jan 19, 2012
  1. Ryan Davis

    testing over

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6914]
  2. Ryan Davis

    disconnecting from gemcutter to debug release issues

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6911]
Commits on Jan 10, 2012
  1. Ryan Davis

    - Attach parser files to isolate to ensure they can build

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6873]
Commits on Oct 17, 2011
  1. Ryan Davis

    + Renamed ruby_parser.y to ruby19_parser.y

    zenspider authored
    + Added RubyParser, subclassing Ruby18Parser but warning on instantiation.
    + Added ruby_parser.rb that pulls everything together in proper order.
    + RubyLexer now takes a version specifier.
    - Fixed lexing of ?c for ruby 1.8 and 1.9.
    + Moved everything from RubyParser to RubyParserStuff and included module in both.
    - Duplicate the input so that heredoc processing doesn't morph original. (banister)
    + Added more 18 vs 19 lexing tests for ?c.
    + Refactored tests infrastructure and added both 1.8 and 1.9 test branches.
    
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6709]
Commits on Sep 6, 2011
  1. Ryan Davis

    irb task needs isolate

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6613]
Commits on Aug 31, 2011
  1. Ryan Davis

    + Add -g flag to parser compile if DEBUG

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6599]
Commits on Aug 24, 2011
  1. Ryan Davis

    Provide me an irb task that works well inside isolate

    zenspider authored
    [git-p4: depot-paths = "//src/ruby_parser/dev/": change = 6581]
Something went wrong with that request. Please try again.