0
A
回答
0
当然这取决于语言,但是在大多数语言中,nti
和Int
都是有效的标识符,因此可以通过词法分析器进行分类。所以没有词汇错误。
如果语言进一步使用C样式声明语法并允许用户定义的类型,那么这两个示例在语法上也可以是有效的。只有在语义分析过程中,你会得到一个错误,指出没有定义名为nti
或Int
的类型(当然,除非是,在这种情况下代码是简单正确的)。
虽然这是一个例外,但C和C++本身必须在解析时跟踪定义的类型,并且foo bar;
不能正确解析为声明,除非foo
先前已被声明为类型。但是,在其他C语言派生的语言中,它解析得很好,并且如上所述进行操作。
总之:根据语言的不同,它可能是一个语法或语义错误。它从来不是一个词汇错误(除非我们正在谈论一个没有标识符的语言的非常不寻常的情况,或者标识符不包含字母)。
相关问题
- 1. 下面的变量声明是否会导致词法错误或语法错误?
- 2. 字符串“1a”是否是词法分析器的错误?
- 3. 泛型类型声明导致错误
- 4. 3D数组声明导致段错误
- 5. PHP:数组声明导致错误500
- 6. 错误编译flex(词法分析器)
- 7. 重复的词法分析器,错误分段错误
- 8. 谷歌分析跟踪代码导致错误“缺少;之前的声明”
- 9. php multidimensional SplFixedArray声明是致命错误
- 10. 为什么命令行参数声明导致分段错误
- 11. QStrings阵列的前向声明导致分段错误
- 12. C++的Linux:声明一个类数组导致分段错误
- 13. 声明Int变量会导致分段错误?
- 14. @section循环中的Javascript导致语法分析器错误
- 15. 是否可以使用不同的词法分析器?
- 16. 解析器或词法分析器是否生成符号表?
- 17. ANTLRv4错误后重置词法分析器和解析器
- 18. 解析器/词法分析器规则的Antlr v3错误
- 19. 用双引号解析joSQL查询导致org.josql.parser.TokenMgrError:词法错误
- 20. 导致编译器颜色编码错误的PHP XML声明
- 21. const声明导致Xcode中的链接器错误
- 22. 声明多于一个SPIM阵列导致语法错误
- 23. DrRacket 6.1错误说,词法分析器是未定义的
- 24. 什么导致jsp EL验证中eclipse的词法分析错误?
- 25. 词法分析器
- 26. Antlr - 多个词法分析器导入
- 27. 如何声明POINT结构以摆脱代码分析错误?
- 28. 致命错误:无法redeclare-(以前在WordPress插件声明
- 29. ocaml分析器和词法分析器
- 30. 简单错误检查是否声明
你为什么认为'Int'和'nti'会有不同的表现?编译器非常简单:您可以拼写'int'或者不拼写。 'Int'和'quusfgl_4531'一样接近。 – MSalters