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)))