README.txt in ParseTree-1.7.1 vs README.txt in ParseTree-2.0.0

- old
+ new

@@ -1,16 +1,16 @@ ParseTree http://rubyforge.org/projects/parsetree/ http://www.zenspider.com/ZSS/Products/ParseTree/ support@zenspider.com -** DESCRIPTION: +== DESCRIPTION: 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. +integers. As an example: def conditional1(arg1) if arg1 == 0 then @@ -30,28 +30,31 @@ [:call, [:lvar, :arg1], :==, [:array, [:lit, 0]]], [:return, [:lit, 1]], nil], [:return, [:lit, 0]]]]] -** FEATURES/PROBLEMS: - -+ Uses RubyInline, so it just drops in. -+ Includes SexpProcessor and CompositeSexpProcessor. - + Allows you to write very clean filters. -+ Includes parse_tree_show, which lets you quickly snoop code. - + echo "1+1" | parse_tree_show -f for quick snippet output. -+ Includes parse_tree_abc, which lets you get abc metrics on code. - + abc metrics = numbers of assignments, branches, and calls. - + whitespace independent metric for method complexity. -+ Includes parse_tree_deps, which shows you basic class level dependencies. -+ Only works on methods in classes/modules, not arbitrary code. -+ Does not work on the core classes, as they are not ruby (yet). +== FEATURES/PROBLEMS: -** SYNOPSYS: +* Uses RubyInline, so it just drops in. +* Includes SexpProcessor and CompositeSexpProcessor. + * Allows you to write very clean filters. +* Includes UnifiedRuby, allowing you to automatically rewrite ruby quirks. +* ParseTree#parse_tree_for_string lets you parse arbitrary strings of ruby. +* Includes parse_tree_show, which lets you quickly snoop code. + * echo "1+1" | parse_tree_show -f for quick snippet output. +* Includes parse_tree_abc, which lets you get abc metrics on code. + * abc metrics = numbers of assignments, branches, and calls. + * whitespace independent metric for method complexity. +* Includes parse_tree_deps, which shows you basic class level dependencies. +* Does not work on the core classes, as they are not ruby (yet). - sexp_array = ParseTree.new.parse_tree(klass) +== SYNOPSYS: + sexp_array = ParseTree.translate(klass) + sexp_array = ParseTree.translate(klass, :method) + sexp_array = ParseTree.translate("1+1") + or: class MyProcessor < SexpProcessor def initialize super @@ -73,23 +76,24 @@ or: % ./parse_tree_abc myfile.rb -** REQUIREMENTS: +== REQUIREMENTS: -+ RubyInline 3 or better. +* RubyInline 3.6 or better. -** INSTALL: +== INSTALL: -+ sudo rake install -+ or: sudo gem install ParseTree +* rake install_gem +* sudo rake install +* sudo gem install ParseTree -** LICENSE: +== LICENSE: (The MIT License) -Copyright (c) 2001-2004 Ryan Davis, Zen Spider Software +Copyright (c) 2001-2007 Ryan Davis, Zen Spider Software Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish,