先從 ast = load_file(parser, opt->script_name, f, 1, opt);
往下看,應該是從 ruby file 產生 AST 的地方,主要是在 load_file_internal
裡面進行。第一步處理的是 encoding 和檔案開頭的 ruby options。實際 parse 內容的地方應該在
ast = rb_parser_compile_file_path(parser, orig_fname, f, line_start);
接下來會看到呼叫 yycompile, yycompile0
的地方,進入由 parse.c (由 parse.y 產生) 的部分。