2012-07-07 79 views

回答

4

詞法分析器將輸入字符流並將其轉換爲標記。

這可以用於各種目的。您可以將轉換應用於詞位以進行簡單的文本處理和操作。

或者可以將詞位流饋送給解析器,該解析器將其轉換爲解析器樹。

如果目標是彙編,那麼詞法分析是第一步。把它看作是將字符轉換成令牌的底層步驟。解析器是一個更高級別的機制,其字母表由詞法分析器(由詞法分析器創建)組成,並解析並創建分析樹。

如果目標是文字操作,那麼操作規則可以應用於詞位本身。

+0

很好的答案。謝謝 – 2012-07-25 10:49:36

2

一個很好的例子是在維基百科http://en.wikipedia.org/wiki/Lexical_analysis。例如,如果要評估表達式「(33 + 3)* 2」,第一步是將字符串拆分爲令牌「(」,「33」,「+」,「3」,「) 「,」*「,」2「。據我記得我的編譯器課程,這是由最長匹配詞自動機完成的。

+1

是的,它是編譯過程的第一步,將程序的純文本拆分爲一系列令牌。 – Stasik 2012-07-07 15:18:00