在上一篇文章中惩妇,完成了對括號的支持株汉,這樣整個程序就可以解析普通的算術(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)行擴(kuò)展水孩,我們?yōu)樗砑右韵聨?..
為什么要學(xué)習(xí)編譯器和解釋器呢?文中的作者給出的答案有下面幾個: 為了深入理解計算機(jī)是如何工作的:一個顯而易見的道理就是琐驴,如果你不懂編譯器和解釋器...
作為一個程序員俘种,自制自己的編譯器一直是一個夢想。之前也曾為了這個夢想學(xué)習(xí)過類似龍書绝淡、虎書這種大部頭的書宙刘,但是光看理論總有一些云里霧里的感覺±谓停看完...
很抱歉我決定結(jié)束這個系列的內(nèi)容了悬包。原本我打算介紹markdown、orgmode相關(guān)的配置馍乙,甚至還打算介紹如何在vim 中使用 emacs 的 ...
很抱歉又拖更了這么久了布近,在這個新公司我想快速度過試用期,所以大部分的精力主要花在日常工作上面丝格。但是這個系列還是得更新下去撑瞧,平時只能抽有限的業(yè)余時...