Ruby 4.1 リファレンスマニュアル

singleton method RubyVM::InstructionSequence.compile_parsey

compile_parsey(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequenceRuby 3.4 から[permalink][rdoc][edit]

引数 source で指定した Ruby のソースコードを、旧来のパーサ(parse.y)でパースしてコンパイルし、 RubyVM::InstructionSequence オブジェクトを作成して返します。

Ruby 3.4 以降、RubyVM::InstructionSequence.compile は既定でパーサ Prism を使いますが、本メソッドは常に parse.y でパースします。

[PARAM] source:
Ruby のソースコードを表す文字列、または開いた File オブジェクトを指定します。
[PARAM] file:
ファイル名を文字列で指定します。
[PARAM] path:
引数 file の絶対パスファイル名を文字列で指定します。
[PARAM] line:
引数 source の 1 行目の行番号を指定します。
[PARAM] options:
コンパイル時のオプションを true、false、Hash オブジェクトのいずれかで指定します。詳細は RubyVM::InstructionSequence.compile_option= を参照してください。
iseq = RubyVM::InstructionSequence.compile_parsey("a = 1 + 2")
p iseq.eval # => 3

[SEE_ALSO] RubyVM::InstructionSequence.compile