在上一篇文章中付秕,完成了對括號的支持帅掘,這樣整個程序就可以解析普通的算術(shù)表達(dá)式了坑律。但是在解析兩個括號的過程中發(fā)現(xiàn)有大量的地方需要進(jìn)行索引的回退操作经备,...
在上一篇我們添加了對乘除法的支持刀闷,也介紹了BNF范式遇八,并且針對當(dāng)前的算術(shù)表達(dá)式寫出了對應(yīng)的范式敞恋,同時根據(jù)范式給出相應(yīng)的代碼實現(xiàn)。這篇我們將繼續(xù)為...
在上一篇中瘤泪,我們實現(xiàn)了對減法的支持灶泵,并且介紹了語法圖。針對簡單的語法進(jìn)行描述对途,用語法圖描述當(dāng)然是沒問題的赦邻。但是針對一些復(fù)雜的語法進(jìn)行描述,如果每...
在上一篇我們實現(xiàn)了一個可以計算兩個多位整數(shù)加減法的計算器实檀。本章我們繼續(xù)來給這個計算器添加功能惶洲,這次要給它添加可以連續(xù)計算多個整數(shù)相加減的功能。例...
上一篇我們實現(xiàn)了一個簡單的加法計算器劲妙,并且了解了基本的詞法分析、詞法分析器的概念儒喊。本篇我們將要對之前實現(xiàn)的加法計算器進(jìn)行擴展镣奋,我們?yōu)樗砑右韵聨?..
為什么要學(xué)習(xí)編譯器和解釋器呢?文中的作者給出的答案有下面幾個: 為了深入理解計算機是如何工作的:一個顯而易見的道理就是怀愧,如果你不懂編譯器和解釋器...
作為一個程序員侨颈,自制自己的編譯器一直是一個夢想余赢。之前也曾為了這個夢想學(xué)習(xí)過類似龍書、虎書這種大部頭的書哈垢,但是光看理論總有一些云里霧里的感覺妻柒。看完...
很抱歉我決定結(jié)束這個系列的內(nèi)容了耘分。原本我打算介紹markdown举塔、orgmode相關(guān)的配置,甚至還打算介紹如何在vim 中使用 emacs 的 ...
很抱歉又拖更了這么久了求泰,在這個新公司我想快速度過試用期央渣,所以大部分的精力主要花在日常工作上面。但是這個系列還是得更新下去渴频,平時只能抽有限的業(yè)余時...