gpt4 book ai didi

compiler-errors - 词法分析器将 5abc 识别为什么样的标记?还是错误?

转载 作者:行者123 更新时间:2023-12-04 06:55:47 25 4
gpt4 key购买 nike

int main()
{
int a,b,c;
5abc=20;
}

5abc 是否被识别为 token ?如果是,那么您会将其归入哪个类别?

如果不是,那么谁在识别这个错误词法或句法分析器?请解释。

最佳答案

您的问题不清楚,但您似乎正在编写自己的编译器/词法分析器,并询问处理此错误的最佳方法是什么。您可能一直在问现有的编译器如何处理这种情况,但这很容易找到。只需编译它:

$ gcc SO.c
SO.c:4:5: error: invalid suffix "abc" on integer constant

没有正确答案;你可以让它成为一个词法错误,但是你必须添加一个词法规则来匹配这个特定的情况,然后将一个错误标记返回给解析器,这将导致语法错误。或者,您可以只返回一个数字/整数,后跟一个标识符,这也会产生语法错误。通常返回看到的标记并让解析器将其作为语法错误处理会更容易。您可以看到这就是 gcc 和其他常见编译器所做的,这证实了它是实用的选择。

关于compiler-errors - 词法分析器将 5abc 识别为什么样的标记?还是错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38800639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com