我正在编写一个编译器作为实验室练习的一部分,并选择使用 PLY 在 Python 中进行。我花了一些时间试图解决这个特殊的问题,但我的实验室助手也走到了死胡同。
在我必须编写的语言中,声明符用两个单词“was a”指定。例如:
x was a number and x became 5.
等于
int x; x = 5;
使用 PLY 解析时,我已将 'was a' 作为保留字
reserved = {
...
'was a' : 'DECLARATOR',
...
}
但是当我使用 PLY 词法分析器进行解析时,它会将 'was' 和 'a' 视为单独的标记
如何was a
在没有 PLY 词法分析器拆分的情况下将其解析为“声明”类型的标记?
如果其中任何一个不清楚,请告诉我,我会尽力回答任何问题
谢谢,
皮特