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