目的:需要跑通的例子
1 + 2
這個(gè)例子是最簡(jiǎn)單的表達(dá)式,我們需要經(jīng)過(guò)詞法解析,語(yǔ)法解析, 生成中間代碼,最后生成機(jī)器代碼這四步。
一. 詞法解析
詞法解析很簡(jiǎn)單,輸入 "1 + 2" 的字符串,輸出則為獨(dú)立的Token:1,+ 和 2 。
二. 語(yǔ)法解析
語(yǔ)法解析階段輸入為上個(gè)階段的Token,輸出則為抽象語(yǔ)法樹(shù)。
三. 生成中間代碼
這一階段我們需要將上個(gè)階段的抽象語(yǔ)法樹(shù)生成為類(lèi)似Intel匯編語(yǔ)言的中間代碼。
mov eax, 1
add eax, 2
四. 生成機(jī)器代碼 最后則是將中間代碼翻譯成x86機(jī)器代碼。
B8 01 00 00 00
83C0 02