一般詞法解析器就是完成某種語法的解析,所要處理的語法解析規則是和解析器代碼糅合在一塊兒的。這樣寫一般很快。而生成的數據類型一般是詞法單元的字符串數組。算法
而將語法從詞法解析器中分離出來,能夠簡化解析器的模型,讓解析計算機語言代碼成爲語法樹,成爲一種通用的算法,二不一樣的,只是分離出來的語法數據。後端
這種通用算法讓語言解釋器變得簡單。而語法文件一樣能夠做爲編譯器的後端,將一種代碼轉換成另一種代碼。數組
這種技術能夠用於語言的轉換,不一樣的語言模型之間,沒有對應的語法模型,只能進行算法的變化,才須要使用模板技術。字符串
能夠將一種用某種語言編寫的應用,移植到另一的平臺上,轉換的效率要比人工轉換要高不少。編譯器
由於要轉換的代碼所須要的語言解析器模型大大簡化,只須要完成對語言的語法描述,就能完成語言的轉換。編譯