我正在讀龍書。從書中引用的文本(3.1.4詞法錯誤,PNO 114)詞法分析問題
這是難的詞法分析器 訴說,沒有其他 組件的幫助下,有一個 源代碼錯誤。例如,如果 字符串
fi
在 情況下遇到了 首次在C程序:fi (a == f(x)) ...
一個詞法分析器無法分辨是否
fi
是關鍵字if
或未經申報的拼寫錯誤功能 標識符。由於fi
是有效 詞位的令牌ID,詞法 分析儀必須返回令牌id
到 解析器而讓 一些其他階段的編譯器 - 大概在 解析器這種情況下 - 處理錯誤由於 換位的信件。
看完這個後我有點困惑。我的理解是詞法分析器開始從左向右處理文本,並在模式匹配時返回令牌。因此,對於if
是匹配關鍵字的語言,fi
如何匹配?
有什麼想法?
啊..現在有道理。謝謝 – 2010-07-10 18:17:08