編寫乙個程式 8

2021-08-09 09:14:51 字數 801 閱讀 7785

計算器程式

對於計算的優先順序問題,如何從輸入讀取包括數字和操作符在內的表示式的方法,並以一種合理的方式進行儲存?

分詞(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 此使用者已...