2010-03-22 62 views

回答

31

2017更新:有一個主要的解析器更新和新的不再支持這些復活節彩蛋詞。


貌似在詞法分析器中的復活節彩蛋對我說:

https://github.com/golang/go/blob/08e25fc1ba397e02ec776561ed73b7f9a8b94392/src/cmd/compile/internal/gc/lex.go#L2152-L2156

相關的部分是符號表:

"notwithstanding",  LIGNORE, Txxx,  OXXX, 
"thetruthofthematter", LIGNORE, Txxx,  OXXX, 
"despiteallobjections", LIGNORE, Txxx,  OXXX, 
"whereas",    LIGNORE, Txxx,  OXXX, 
"insofaras",   LIGNORE, Txxx,  OXXX, 

我猜他們可能被用來測試處理詞法類型LIGNORE,但似乎沒有任何「真正」被忽略的令牌。

+2

呃,它們的詞法分析器函數有一個名爲'l0'(el-zero)的標籤用於開始語句。如果你實際使用l0作爲代碼中的標識符,編譯器應該被設計爲刪除你的代碼。 – Jimmy 2010-03-22 03:21:08

+0

如果您在l0具有特定含義的域中工作,該怎麼辦?畢竟小寫pi只是希臘語中的單個字母,但我們仍然接受它作爲標識符的名稱,因爲我們知道它的意思。 – 2011-08-19 10:18:56

+2

@JørgenFogh:我並不是很認真,但它確實對這個問題(從那時起就被刪除)做了另一個回答:「這些論文全都指向我現在找不到的」GOTO 10「這完美地說明了這個問題。當然,每條規則都有例外。 – Jimmy 2011-08-19 18:57:54

相關問題