我和我的研究生正在开发一个训练编译器,我们将用它来教学生“编译器和口译员”。输入程序语言是Java语言的一个有限子集,编译器实现语言是Java。输入语言语法的语法是LL(1),因为它更容易被学生理解和实现。在解析器实现中,我们有以下一般问题。如何在解析过程中区分标识符和函数调用?例如,我们可能有:
b = sum(10,5) /
正则表达式中使用的“控制字符”在regex解析器的不同实现中是否有很大差异(例如,Java、C#、sed等中的正则表达式)。例如,在Ruby语言中,\D的意思是not a digit;在Java、C#和sed中也是这样吗?我想我要问的是,是否有一个所有regex解析器都支持的regex‘’es的“标准”?如果没有,是否存在一些应该学习和掌握的公共