[問題] PLY - discard token in grammar file

看板Python作者 (wani)時間13年前 (2012/02/28 11:48), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
各位好,因為研究的需要我利用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

02/28 13:28, , 1F
很久沒用了,不過我記得不用移除吧~
02/28 13:28, 1F

02/28 19:59, , 2F
因為不移除的話會影響我parse的處理 移除的話會方便很多
02/28 19:59, 2F
文章代碼(AID): #1FJ4whM7 (Python)
文章代碼(AID): #1FJ4whM7 (Python)