計算器程式
對於計算的優先順序問題,如何從輸入讀取包括數字和操作符在內的表示式的方法,並以一種合理的方式進行儲存?
分詞(tokenize):讀取輸入字元並組合成單詞(token)
單詞可以看做乙個單元的乙個字串行,例如數字或者運算子。
利用(kind,value)的形式來表示單詞,其中kind表示單詞是乙個數字、運算子還是括號。value所儲存的為值(比如如果是數字那麼就是數值)
如何實現這種單詞?
使用者自定義型別(user-defined type)
class
token
;
利用如下方法進行定義:
token t;
t.kind = 't';
token t1;
t1.kind = '8';//利用字元8來表示數值的型別
t1.value= 3.14;
token t2 = t1;//可以直接進行拷貝初始化,這時值也會賦給t2
token t3 = ;//直接構造token物件
實現乙個文法的程式通常被稱為分析器
公有介面與私有實現
公有介面(public)一般只包含使用者所需要的內容,經常是一組函式
私有介面(private)則包含實現公有函式所必須的內容,包括用於處理複雜細節的資料與函式,而這些都是使用者不必知道也不應該使用的。
python嘗試編寫乙個指令碼 8
因個人習慣,在閱讀和學習文字資料時,習慣摘寫筆記,因此在這裡留下自己的學習記錄。筆記的內容偏摘抄為主,並非自己的原創內容。內容基於 簡明 python 教程 swaroop,c.h.著沈潔元 譯 乙個合理的程式,它能夠完成一些確實有用的事情。下面是教程給出的例子 1 做什麼事 提出功能需求 為我所有...
編寫第乙個lua程式
今天從 拿到lua 5.1的原始碼後,先將其編譯為靜態庫lua.lib。我用vs 2008建立的工程 extern c lua直譯器指標 lua state l int main int argc,char argv 編譯該 後執行的結果為 panic unprotected error in ca...
python編寫乙個使用者登入程式
print 新建使用者 n n print 登入賬號 e e print 退出程式 q q contact dict while 1 a input 請輸入指令 if a n or a n name input 請輸入使用者名稱 if name in contact name input 此使用者已...