我已閱讀this和this問題。他們是相當有幫助的,但我仍然對C語法分析器中的令牌生成有疑問。 如果詞法分析器檢測到int a2.5c;
,那麼根據我的理解,將會產生7個令牌。澄清關於C中的詞彙錯誤
int keyword
a identifier
2 constant
. special symbol
5 constant
c identifier
; special symbol
所以詞法分析器不會報告任何錯誤,令牌將成功生成。
我的理解是否正確?如果沒有,那麼你能幫我理解嗎?
另外如果我們聲明任何常數爲double a = 10.10.10;
它會產生任何詞法錯誤嗎?爲什麼?
更新:詢問好奇心,如果詞法分析器檢測到:-)
笑臉類的東西在程序中?它會產生任何詞彙錯誤?因爲按我的理解:
將作爲特殊符號對待,-
將被視爲運營商和再次)
將被視爲特殊符號
謝謝
關於_compiler構建有很多資源可以找到。 N. Wirth的同名書籍可免費下載。 – Olaf
我感謝您的幫助。我已經下載了這本書並將其讀取。 :) –
在與C相關的問題中,'2'不會啓動一個新的標記,而是標識符的一部分。而'5c'之間沒有空格不是一個有效的標記。 –