Re: [分享] 計算機程式

作者: descent (「雄辯是銀,沉默是金」)   2015-02-02 13:51:47
可能是在很多環境都可以見到計算機, 讓你以為這是很好寫的程式,
計算機是很難的程式。
有興趣的話可以參考以下兩本書籍, 你就知道計算機的難度了,
特別推薦 Stroustrup 的書。
UNIX 编程环境 (Brian W.Kernighan, Rob Pike) 第八章在談一個計算機怎麼寫, 其中使
用了 lex, yacc。
Stroustrup Programming: Principles and Practice using C++ (這本有 Second
Edition, 談及 c++11, c++14) 6, 7 章也在談怎麼寫一個計算機, 沒有使用 lex/yacc。
C++ 程序设计原理与实践 (Programming: Principles and Practice using C++ 的簡體
中文版本 - 第一版) p 109 提到: 「這是 50 年來的經驗, 想要一夜打破 50 年來的經
驗不是個好主意。」
※ 引述《ljsnonocat2 (平凡是幸福)》之銘言:
: 小弟新手最近剛開始入門程式 學C語言
: 之前想到寫計算機程式 要怎麼輸入算式 做加減乘除
: 一開始還在想要怎麼判讀算式裡面字串中有哪些數字與算符
: 再用switch case去分類運算 不過這樣搞得好像很複雜....
: 明明程式裡面 變數賦值等號後面就可以簡單做運算
: 要怎麼把輸入的算式編到程式裡???
: 後來看到某個網站 原來有這樣搞法....
: 用fprintf先產生一個臨時的.c原始碼檔 把算式當成參數寫進去...
: 然後用system系統指令編譯這臨時.c檔並執行 ....原來可以這麼簡單orz
: 想了好幾天的迷惑終於解開了 也分享給跟我想一樣問題的新手...
: http://ideone.com/TMgjSC (參考範例)
作者: ljsnonocat2 (平凡是幸福)   2015-02-02 15:11:00
感謝回答 第一句就打中我的想法 我以為很簡單但是實際要搞發現很難 剛好看到有偷吃步的做法XD當然各位前輩提供的正統做法 我還得努力研究...
作者: james732 (好人超)   2015-02-02 21:27:00
因為計算機已經可以算是interpreter了嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com