singleton method RubyVM::AbstractSyntaxTree.parse_file

parse_file(pathname) -> RubyVM::AbstractSyntaxTree::Node[permalink][rdoc][edit]
parse_file(pathname, keep_script_lines: false, error_tolerant: false, keep_tokens: false) -> RubyVM::AbstractSyntaxTree::Node

pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。

[PARAM] pathname:
パースする対象のファイルパスを指定します
[PARAM] keep_script_lines:
true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
[PARAM] keep_tokens:
true を指定すると、 Node#token が利用できます。
[PARAM] error_tolerant:
true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリーを生成します。
[EXCEPTION] SyntaxError:
pathname から取得された文字列が Ruby のコードとして正しくない場合に発生します。

pp RubyVM::AbstractSyntaxTree.parse_file(__FILE__)
# => (SCOPE@1:0-1:50
#     tbl: []
#     args: nil
#     body:
#       (FCALL@1:0-1:50 :pp
#          (LIST@1:3-1:50
#             (CALL@1:3-1:50
#                (COLON2@1:3-1:29 (CONST@1:3-1:9 :RubyVM) :AbstractSyntaxTree)
#                :parse_file (LIST@1:41-1:49 (STR@1:41-1:49 "") nil)) nil)))