iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
自我挑戰組

C again系列 第 25

yycompile0

  • 分享至 

  • xImage
  •  

Bison 和 AST 的研究也到此,跳出來看 yycompile0。從 yyparse 最後會 match 到的 program 程式裡面,看到關鍵字 p->eval_tree,猜測這可能是下一步的要處理的內容,用它在 yycompile0 內找到取用的地方,但是找不到像 compile YARV instruction 的操作。

看到 yycompile0 最後有 p->ast->body.root = tree; ,再假設這才是下一步會處理的內容,用 ast->body.root 當關鍵字找到 vm_eval.c,裡面呼叫到 rb_iseq_new_eval, rb_iseq_new_with_opt,的確找到呼叫在 compile.c 裡的 rb_iseq_compile_node,應該就是這邊會產生對應 AST node 的 instruction sequence


上一篇
Bison (3)
下一篇
rb_iseq_compile_node
系列文
C again30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言