ole*_*ner 5 parsing
我正在编写一个带有类似Python的内置语言的工具.我想在语法中使缩进有意义(因此行开头的制表符和空格将表示命令的嵌套).
做这个的最好方式是什么?
我以前写过递归下降和有限自动机解析器.
uli*_*tko 5
当前的CPython解析器似乎是使用一种称为ASDL的东西生成的.
至于你问的,压痕,它的完成使用特殊令牌词法分析器叫INDENT和DEDENT.要复制它,只需在你的词法分析器中实现这些标记(如果使用堆栈来存储先前缩进行的起始列,这很容易),然后像往常一样将它们插入到你的语法中(就像任何其他关键字或运算符标记一样) .
INDENT
DEDENT
归档时间:
12 年,9 月 前
查看次数:
480 次
最近记录: