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

module function Prism?.parse_lex

parse_lex(source, **options) -> Prism::ParseLexResultRuby 3.3 から[permalink][rdoc][edit]

source に対して構文解析と字句解析の両方を行い、 Prism::ParseLexResult のインスタンスを返します。value[構文木, トークンの配列] という 2 要素配列です。

構文木とトークン列の両方が必要な場合、Prism?.parsePrism?.lex を個別に呼び出すよりも効率的です。片方だけが必要な場合はそれぞれ Prism?.parse または Prism?.lex を使ってください。オプションは Prism?.parse と同じです。

[PARAM] source:
解析する Ruby プログラムの文字列を指定します。
[PARAM] options:
Prism?.parse を参照してください。
require "prism"

result = Prism.parse_lex("1 + 2")
p result.class # => Prism::ParseLexResult

ast, tokens = result.value
p ast.class    # => Prism::ProgramNode
p tokens.size  # => 4

[SEE_ALSO] Prism?.parse, Prism?.lex