產(chǎn)生原因:

(1)一直以來,我都想寫一門語言,但無從下手。
(2)我找到了很多編譯原理的教程,但始終覺得內(nèi)容晦澀,理解不了,所以先嘗試寫一個簡單的,比如:計算器。
(3)網(wǎng)上有很多關(guān)于計算器的實現(xiàn),但大多需要有編譯原理的基礎(chǔ),對于我這種小白實在難以理解。
(4)我決定采用暴力模擬的方式,需要用正則表達式,但我不想自己實現(xiàn),所以用js。

最終要實現(xiàn)什么效果

  Android培訓(xùn),安卓培訓(xùn),手機開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

計算器接受一串字符,處理后返回結(jié)果。

我們來看一下要做什么:

首先需要知道有哪些“元素”,比如“12+34×56"的元素有整數(shù)12,加號,整數(shù)34,乘號,整數(shù)56,這個過程稱為詞法分析

然后根據(jù)符號的優(yōu)先級進行組合,其過程相當于加括號,12+(34*56),這個過程稱為語法分析

借用正則表達式,可以簡單暴力的實現(xiàn)詞法分析。

什么是正則表達式

正則表達式的概念,和編譯原理一樣,都要費好大功夫來理解,當初