回答
其「只是」一個語法錯誤;語法告訴你寫什麼是合法的,但事實並非如此。
人們會談論一種特殊的語法錯誤,並說有一個畸形的標記或詞位。但是這只是裏面的一個細節編譯器。
如果你寫了這段代碼,它是你的錯誤,不是編譯器的。
它既不是。
誰說這個構造是無效的?
它完全取決於你的定義。
例如,你可能已經定義了`跡象可能僅是成對出現的,如「描述字符串文字。然後,它會是一個詞法錯誤。
OTOH,`可能是一些預定義的綴操作符,像*。然後這將是一個語法錯誤,因爲表達式的左邊缺失。
或者`可能是一個整數運算符,那麼它將是一個類型錯誤,因爲顯然是一個char。
可以對OP的問題做出合理的假設。 – 2014-10-18 14:56:36
@IraBaxter或者人們可以像它被問到的那樣回答它。 OP認爲在詞法和語法錯誤之間存在一些預定義的,固定的,不可移動的邊界,而不管使用什麼語言。另外,你也可以假設Java。或者Haskell,像'char a = a'這樣的定義至少是有意義的。 – Ingo 2014-10-19 15:48:08
如果在您的語言中後跟字母或反引號是有效令牌,則這是語法錯誤(除非「backtic k後跟標識符「實際上是語言中語法上有效的表達式,當然)。
如果您的語言沒有反向符號或反向符號後跟字母標記,則這是一個詞法錯誤。
如果你的語言(有點令人驚訝/反直覺)對字符文字使用反引號(使用形式反引號,字符,反引號),它仍然是一個詞法錯誤,因爲字符文字未被封閉。
這是一個詞法錯誤。
正則用於字符表達可能是 '((\)|。[^ \']) '
這將接受像任何字符 '一個', 'Z',' \ t','\ n'。
如果您的詞法分析器未找到開始或結束單引號,則會標記詞法錯誤。 如果a或=或'a'或;上面表達式中缺少/缺失。
- 1. 這是詞法分析器的工作嗎?
- 2. 重複的詞法分析器,錯誤分段錯誤
- 3. 字符串「1a」是否是詞法分析器的錯誤?
- 4. 在詞法分析中處理錯誤
- 5. 錯誤編譯flex(詞法分析器)
- 6. 這是我的代碼或g ++分析-WeffC++中的錯誤嗎?
- 7. 這是泛型錯誤使用的例子嗎?
- 8. DrRacket 6.1錯誤說,詞法分析器是未定義的
- 9. 這是什麼意思由於詞法分析錯誤,無法分析EL表達式?
- 10. CSS3解析錯誤詞法錯誤
- 11. 以下聲明是否導致詞法分析器錯誤?
- 12. 解析器/詞法分析器規則的Antlr v3錯誤
- 13. 詞法分析
- 14. 詞法分析
- 15. 這種語法是錯誤的嗎?
- 16. ANTLRv4錯誤後重置詞法分析器和解析器
- 17. 這是TokyoCabinet的錯誤嗎?
- 18. 這是IE9的錯誤嗎?
- 19. 這個錯誤是什麼意思,我該如何解決? 「使:*** [詞法分析器]錯誤127」
- 20. 這是一個語法錯誤嗎?
- 21. ANTLR 4詞法分析器子規令
- 22. 這是使用RoutedCommand的好例子嗎?
- 23. 這是一個封閉的例子嗎?
- 24. 這是多態性的例子嗎?
- 25. 這是LINQ到SQL的例子嗎?
- 26. 這是單身模式的例子嗎?
- 27. c語言中的詞法分析器的示例示例#
- 28. 詞法分析庫
- 29. 詞法分析器
- 30. 這是分佈式數據庫的例子嗎?
你從哪裏知道這不合法? – Ingo 2014-10-18 14:53:00
檢查語言參考手冊。 (我認爲OP的意思是「C」作爲語言,因爲他似乎正在寫一些大多數在C和C中都有效的東西)。 – 2014-10-18 14:54:01
@IraBaxter在C中,這將是一個詞法錯誤,但不是語法錯誤(您在第二句中同意這一點,所以我不確定爲什麼你在第一句中聲明)。 – sepp2k 2014-10-18 14:58:14