→ pftung:你的complier是用amssebly寫嗎???? 推 61.230.94.87 05/08
※ 引述《pftung (我是誰???)》之銘言:
: : 或者白話一句,理論能告訴我們,幫我們判斷,
: : 一個句子是不是由給定的單字和文法組成的,
: : 當然也能告訴我們一個積分是不是由給定的積分表和轉換公式組成的...
或許我舉的例子中術語用的不好,讓你誤解了...
重點是上面三句,積分程式應該是用這種邏輯寫出來的~~:)
keyword <-> Basic Integral Table
grammar <-> Transformation Rule
: compiler只是在做語言的轉換
: 將高階語言轉成machine code(給電腦看的binary code)
: 如果你寫過C的話應該知道
: source code->compiler->.obj->linker->.exe
: 我們要寫的是source code,其實不需要知道compiler是怎麼做的
真不巧,我強調的是知道 compiler 怎麼寫的,和積分程式的原理是有關的...
不過並不是語言的轉換那部分,那部分在這不是重點...
: 寫code其實是一種觀念,跟使用什麼語言並沒有絕對的關係
: 比方說我可直接將輸入當作一個字串(跟我的database比對)
: 若對方輸入的是多項式(形如summation ai*X^i)
: 則我的output就是summation (ai/i)*X^(i+1)
: 我想表達的是source code如何寫應該跟compiler沒有什麼關係
: compiler只是在做語法的偵錯(就像判斷我們寫英文作文文法有沒有錯)
說到這我就想到,高中剛學程式時,我覺得寫程式沒學問,
需要學的,只是語法加耐心,眼高手低的我覺得程式 = DS + Algorithm,
而 Algorithm 又很數學,所以問題只是寫程式要花多少時間罷了...
但是當時我所能想到的程式中,就 compiler 我百思不得其解,
文法解析不可能是一大堆包含 if 的 tree ?
這樣要新增個 keyword 不就完蛋了!
compiler 難道是把 source code 的 text stream 輸入後,
判斷這個字是不是 keyword ? 是的話... 不是的話...
一大堆的 if 加上一大堆的 jump...
回到主題,判斷 code 合不合語法是我想強調的重點
: 同時把source code轉成machine code(文法無誤的話再把英文轉成法文)
: 重點還是在我source code 的內容是什麼
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 140.112.169.79