繁体   English   中英

编译器设计:如何区分“ op_Minus number”和“ negativeNumber”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM