我讀答案this question. 我似乎無法找到答案,爲什麼會有人需要一個詞法分析器分別詞法分析器的目的是什麼?
是它的程序編譯過程中經歷的步驟之一? 有人可以請簡單地解釋爲什麼我需要一個詞法分析器,它的目的是什麼?
我讀答案this question. 我似乎無法找到答案,爲什麼會有人需要一個詞法分析器分別詞法分析器的目的是什麼?
是它的程序編譯過程中經歷的步驟之一? 有人可以請簡單地解釋爲什麼我需要一個詞法分析器,它的目的是什麼?
詞法分析器將輸入字符流並將其轉換爲標記。
這可以用於各種目的。您可以將轉換應用於詞位以進行簡單的文本處理和操作。
或者可以將詞位流饋送給解析器,該解析器將其轉換爲解析器樹。
如果目標是彙編,那麼詞法分析是第一步。把它看作是將字符轉換成令牌的底層步驟。解析器是一個更高級別的機制,其字母表由詞法分析器(由詞法分析器創建)組成,並解析並創建分析樹。
如果目標是文字操作,那麼操作規則可以應用於詞位本身。
一個很好的例子是在維基百科http://en.wikipedia.org/wiki/Lexical_analysis。例如,如果要評估表達式「(33 + 3)* 2」,第一步是將字符串拆分爲令牌「(」,「33」,「+」,「3」,「) 「,」*「,」2「。據我記得我的編譯器課程,這是由最長匹配詞自動機完成的。
是的,它是編譯過程的第一步,將程序的純文本拆分爲一系列令牌。 – Stasik 2012-07-07 15:18:00
很好的答案。謝謝 – 2012-07-25 10:49:36