看板 Python 關於我們 聯絡資訊
各位好,因為研究的需要我利用PLY寫了一個call graph產生器 我寫了兩個檔案 一個是test_lex.py: 這個是用來定義token的 另外一個是test_yacc.py: 這是用來定義grammar rule的 在某些況下,我必須把token丟棄, 也就是把它從symbol stack中移除 例如我在test_lex.py中定義了'IF'這個token 在test_yacc.py中我想進行以下處理 def p_if(p): 'if : IF' 1. do something (處理 call graph用) 2. 將'if'這個non-terminal從symbol stack中移除, 這樣才不會影響到之後parse的進行 重點在於第二點,要怎麼在grammar function中把non-terminal移除呢? 因為有點難表達,如果寫的不是很清楚,我可以再補充說明,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.73.43
ykjiang:很久沒用了,不過我記得不用移除吧~ 02/28 13:28
wani420:因為不移除的話會影響我parse的處理 移除的話會方便很多 02/28 19:59