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

module function Prism.#parse_lex_file

parse_lex_file(filepath, **options) -> Prism::ParseResultRuby 3.3 から[permalink][rdoc][edit]

filepath で指定したファイルに対して構文解析と字句解析の両方を行います。戻り値の形式は Prism.#parse_lex と同じです。オプションは Prism.#parse と同じです。

[PARAM] filepath:
解析する Ruby プログラムのファイルパスを指定します。
[PARAM] options:
Prism.#parse を参照してください。
require "prism"

File.write("sample.rb", "1 + 2\n")

ast, tokens = Prism.parse_lex_file("sample.rb").value
p ast.class # => Prism::ProgramNode
p tokens.map { |token, _state| token.type }
# => [:INTEGER, :PLUS, :INTEGER, :NEWLINE, :EOF]

[SEE_ALSO] Prism.#parse_lex