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

class Prism::ParseLexResult

[edit]

要約

Prism?.parse_lexPrism?.parse_lex_file の戻り値のクラスです。構文解析と字句解析の両方の結果と、付随情報(コメント・エラー・警告など。Prism::Result を参照)を保持します。

Ruby 3.3 の prism にはこのクラスはなく、Prism::ParseResult が使われていました(value の形式は同じです)。

[SEE_ALSO] Prism?.parse_lex, Prism?.parse_lex_file, Prism::Result

目次

インスタンスメソッド

継承しているメソッド

Prism::Resultから継承しているメソッド

インスタンスメソッド

value -> ArrayRuby 3.4 から[permalink][rdoc][edit]

[構文木, トークンの配列] という 2 要素配列を返します。構文木は Prism::ProgramNode、トークンの配列は Prism::LexResultvalue と同じ「Prism::Token と字句解析器の状態の整数のペア」の配列です。

require "prism"

ast, tokens = Prism.parse_lex("1 + 2").value
p ast.class      # => Prism::ProgramNode
p tokens.map { |token, _state| token.type }
# => [:INTEGER, :PLUS, :INTEGER, :EOF]