作者wani420 (wani)
看板Python
标题[问题] PLY - discard token in grammar file
时间Tue Feb 28 11:48:57 2012
各位好,因为研究的需要我利用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
1F:→ ykjiang:很久没用了,不过我记得不用移除吧~ 02/28 13:28
2F:→ wani420:因为不移除的话会影响我parse的处理 移除的话会方便很多 02/28 19:59