[英]Compiler Design: How do you distinguish between “op_Minus number” and “negativeNumber”?
如何区分令牌序列“ op_Minus”“ number”和简单的负数?
我认为这取决于上下文,并且取决于您在解析源代码时遇到的操作数。
根据您选择/遇到的语法类型,在处理减法时,您可能会遇到类似这样的情况:
operand1 - operand2
否则,如果您的语言使用前缀表示法,您将得到如下所示的结果:
- operand1 operand2
(- operand1 operand2)
在这两种情况下,如果您要处理减法或负数,则应该能够从上一个标记(在中缀表示法的情况下)或从前瞻性推断到下一个标记/接下来的两个标记),因为后者将只有一个操作数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.