Skip to content

Instantly share code, notes, and snippets.

@enebo
Created March 18, 2009 22:12
Show Gist options
  • Save enebo/81439 to your computer and use it in GitHub Desktop.
Save enebo/81439 to your computer and use it in GitHub Desktop.
require 'java'
$LOAD_PATH.unshift File.dirname(__FILE__) + "/../dist"
require 'JRubyParser.jar'
import org.jrubyparser.Parser
import org.jrubyparser.parser.ParserConfiguration
JFile = java.io.File
import java.io.FileReader
config = ParserConfiguration.new
parser = Parser.new
while (filename = ARGV.shift)
p parser.parse(filename, FileReader.new(JFile.new(filename)), config).toString
end
-------
enebo:17:15 ~/NetBeansProjects/JRubyParser 944% jr sample/simple.rb sample/simple.rb
"(RootNode, (BlockNode, (NewlineNode, (FCallNode:require, (ArrayNode, (StrNode)))), (NewlineNode, (CallNode:unshift, (GlobalVarNode:$LOAD_PATH), (ArrayNode, (CallNode:+, (CallNode:dirname, (ConstNode:File), (ArrayNode, (FileNode))), (ArrayNode, (StrNode)))))), (NewlineNode, (FCallNode:require, (ArrayNode, (StrNode)))), (NewlineNode, (FCallNode:import, (ArrayNode, (CallNode:Parser, (CallNode:jrubyparser, (VCallNode:org)))))), (NewlineNode, (FCallNode:import, (ArrayNode, (CallNode:ParserConfiguration, (CallNode:parser, (CallNode:jrubyparser, (VCallNode:org))))))), (NewlineNode, (ConstDeclNode:JFile, (CallNode:File, (CallNode:io, (VCallNode:java))))), (NewlineNode, (FCallNode:import, (ArrayNode, (CallNode:FileReader, (CallNode:io, (VCallNode:java)))))), (NewlineNode, (LocalAsgnNode:config, (CallNode:new, (ConstNode:ParserConfiguration)))), (NewlineNode, (LocalAsgnNode:parser, (CallNode:new, (ConstNode:Parser)))), (NewlineNode, (WhileNode, (NewlineNode, (LocalAsgnNode:filename, (CallNode:shift, (ConstNode:ARGV)))), (NewlineNode, (FCallNode:p, (ArrayNode, (CallNode:toString, (CallNode:parse, (LocalVarNode:parser), (ArrayNode, (LocalVarNode:filename), (CallNode:new, (ConstNode:FileReader), (ArrayNode, (CallNode:new, (ConstNode:JFile), (ArrayNode, (LocalVarNode:filename))))), (LocalVarNode:config)))))))))))"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment