漢化chibicc內(nèi)標(biāo)識(shí)符總結(jié)


這次的嘗試再度失敗,只成功了25%,漢化了編譯器的詞法分析(牌化,化為牌),語(yǔ)法分析(解析器,生成抽象句法樹(shù)),
后面的我眼看不能成功,索性就沒(méi)有再漢化了.
現(xiàn)在把詞法分析和語(yǔ)法分析當(dāng)教材看就是了.
Unicode與hash也挺重要,也漢化了一些部分.
Unicode可以讓C編譯器識(shí)別中文漢字,hash幾乎全用來(lái)存儲(chǔ)符號(hào)表,作用域.
都是作者手工實(shí)現(xiàn)的.
詞法分析用了鏈表數(shù)據(jù)結(jié)構(gòu),語(yǔ)法分析也用鏈表生成的樹(shù)數(shù)據(jù)結(jié)構(gòu),
總的來(lái)說(shuō),用鏈表一種數(shù)據(jù)結(jié)構(gòu)就能通吃編譯器所需,
目前也就知道這么多.
到這里用clang或gcc編譯漢化了源碼的chibicc這個(gè)項(xiàng)目是通過(guò)的.
甚至于說(shuō)執(zhí)行已編譯后的chibicc.exe程序都沒(méi)問(wèn)題.
但是用chibicc.exe編譯新的.c源程序就會(huì)出問(wèn)題了.
為什么呢?
你可以看出這里是匯編器相關(guān)的問(wèn)題,
因?yàn)閰R編器還不支持utf8編碼.
雖然在chibicc項(xiàng)目的[代碼生成.c]文件里可以使用中文漢字標(biāo)識(shí)符編寫(xiě),
但是chibicc并沒(méi)實(shí)現(xiàn)自己的匯編器,也不是直接生成機(jī)器碼,而是調(diào)用外部的匯編器來(lái)編譯chibicc生成的匯編代碼,
而外部的匯編器是西方人寫(xiě)的那是很久都沒(méi)更新過(guò)了,完全不支持中文漢字的.
所以到這一步,又卡死了.