ParseTree is a C extension (using RubyInline) that extracts the parse tree for an entire class or a specific method and returns it as a s-expression (aka sexp) using ruby's arrays, strings, symbols, and integers.

Journal Entries

No entries yet. Link your entries with 'ruby-parsetree' to include this project.

Ohloh Analysis Summary

Updated 09 Jul 2009 18:22 UTC


Ratings & Reviews

Community Rating
5.0/5.0

Based on 1 user ratings.

Your Rating

Click to rate this project.

Links

1 link submitted so far. Submit your own links.

News

Edit RSS feeds.

    ParseTree - ruby parse tree tools:sexp_processor 3.0.2 Released

    sexp_processor version 3.0.2 has been released!

    sexp_processor branches from ParseTree bringing all the generic sexp
    processing tools with it. Sexp, SexpProcessor, Environment, etc... all
    for your language processing ... [More] pleasure.

    Changes:

    ### 3.0.2 / 2009-06-23

    * 2 minor enhancements:

    * Pulled unique.rb from ParseTree to sexp_processor.
    * Switched to minitest. [Less]

    ParseTree - ruby parse tree tools:ParseTree 3.0.4 Released

    ParseTree version 3.0.4 has been released!

    ParseTree is a C extension (using RubyInline) that extracts the parse
    tree for an entire class or a specific method and returns it as a
    s-expression (aka sexp) using ruby's arrays, strings ... [More] , symbols, and
    integers.

    As an example:

    def conditional1(arg1)
    if arg1 == 0 then
    return 1
    end
    return 0
    end

    becomes:

    [:defn,
    :conditional1,
    [:scope,
    [:block,
    [:args, :arg1],
    [:if,
    [:call, [:lvar, :arg1], :==, [:array, [:lit, 0]]],
    [:return, [:lit, 1]],
    nil],
    [:return, [:lit, 0]]]]]

    Changes:

    ### 3.0.4 / 2009-06-23

    * 4 minor enhancements:

    * Pulled unique.rb from ParseTree to sexp_processor.
    * Switched to minitest
    * UnifiedRuby strips flip2 back down to expected values
    * Updated Rakefile for new hoe

    * 2 bug fixes:

    * 1.8.6p287 & 1.8.7 changed flip2 with fixnum start. fixed
    * 1.8.6p287 & 1.8.7 removed the begin node. fixed. [Less]

    ParseTree - ruby parse tree tools:ruby_parser 2.0.3 Released

    ruby_parser version 2.0.3 has been released!

    ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
    racc--which does by default use a C extension). RP's output is
    the same as ParseTree's output: s-expressions using ruby's ... [More] arrays and
    base types.

    As an example:

    def conditional1(arg1)
    if arg1 == 0 then
    return 1
    end
    return 0
    end

    becomes:

    s(:defn, :conditional1,
    s(:args, :arg1),
    s(:scope,
    s(:block,
    s(:if,
    s(:call, s(:lvar, :arg1), :==, s(:arglist, s(:lit, 0))),
    s(:return, s(:lit, 1)),
    nil),
    s(:return, s(:lit, 0)))))

    Changes:

    ### 2.0.3 / 2009-06-23

    * 4 minor enhancements:

    * Removed dead code handling d/regex match node cruft.
    * Switched to minitest
    * Updated .autotest and rakefile wrt rcov for new hoe capabilities
    * Updated hoe for new capabilities

    * 4 bug fixes:

    * Environment#all now deals with strange edge cases in RAD.
    * Fixed packaging/compilation issue.
    * Minor 1.9 fixes
    * hoe -> flay -> rubyparser rakefile circularity fixed [Less]

    ParseTree - ruby parse tree tools:ruby_parser 2.0.2 Released

    ruby_parser version 2.0.2 has been released!

    ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
    racc--which does by default use a C extension). RP's output is
    the same as ParseTree's output: s-expressions using ruby's ... [More] arrays and
    base types.

    As an example:

    def conditional1(arg1)
    if arg1 == 0 then
    return 1
    end
    return 0
    end

    becomes:

    s(:defn, :conditional1,
    s(:args, :arg1),
    s(:scope,
    s(:block,
    s(:if,
    s(:call, s(:lvar, :arg1), :==, s(:arglist, s(:lit, 0))),
    s(:return, s(:lit, 1)),
    nil),
    s(:return, s(:lit, 0)))))

    Changes:

    ### 2.0.2 / 2009-01-20

    * 2 minor enhancements:

    * Added gauntlet_rubyparser plugin. YAY for easy massive bug-hunting.
    * Promoted Sexp's file/line/comments to sexp_processor.

    * 4 bug fixes:

    * Fixed and improved the readme
    * Fixed lexing heredoc newlines.
    * Fixed line numbers on defns.
    * Fixed rdoc generation bug pointed out by hugh sasse (who rocks) [Less]

    ParseTree - ruby parse tree tools:sexp_processor 3.0.1 Released

    sexp_processor version 3.0.1 has been released!

    sexp_processor branches from ParseTree bringing all the generic sexp
    processing tools with it. Sexp, SexpProcessor, Environment, etc... all
    for your language processing ... [More] pleasure.

    Changes:

    ### 3.0.1 / 2009-01-20

    * 3 minor enhancements:

    * Filled out README
    * Promoted file/line/comments from ruby_parser.
    * Added sexp_type to compliment sexp_body. [Less]

Read all ParseTree articles…

Download Page
13 downloads

Who uses ParseTree?

Avatar Avatar Avatar

Who contributes to ParseTree?

Avatar
I'm a contributor

Who manages ParseTree?

Avatar
I'm a manager

Where in the world?




Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 5,956
Effort (est.) 1 Person Years
Avg. Salary $ year
$ 71,630