ruby_parserを使用して、ファイル内の複数行の Ruby コードを解析しようとしています。
次のコードを解析したいとしましょう。
def foo
2 + 2
end
次のことを行うと、エラーが発生します。
RubyParser.new.parse("def foo")
#=> Racc::ParseError: (string):1 :: parse error on value "$end" ($end)
行に が含まれていないためend
です。
を使用して一度に 1 行ずつ渡していFile.readlines(file)
ます。
ファイル名を に指定するのが理想的ですがRubyParser
、それを理解できないようで、ドキュメントもほとんどありません。