天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 英文數(shù)據(jù)庫 >

自制編程語言pdf_制作一門編程語言_1.2 自制編程語言并不是很難

發(fā)布時(shí)間:2016-09-07 07:31

  本文關(guān)鍵詞:自制編程語言,由筆耕文化傳播整理發(fā)布。


1.2 自制編程語言并不是很難

一提起自制編程語言,很多人都會覺得這是一件非常難的事情。

比如,即便是一個(gè)很常見的賦值語句:

  • 自制編程語言時(shí)都必須考慮到以下幾個(gè)要點(diǎn)。

    1. 需要將 a1、 b1、 b2作為變量名解析出來。如果按照C 語言的語法規(guī)則,變量名只能由字母或下劃線開頭,從變量名第二個(gè)字符開始才允許出現(xiàn)字母或數(shù)字。所以首先必須掃描這個(gè)語句,然后將匹配上述語法規(guī)則的部分提取出來。

    2. 0.5 是一個(gè)含有小數(shù)點(diǎn)的常量,在提取這類常量時(shí),能否用"數(shù)字組合+ 小數(shù)點(diǎn)+ 數(shù)字組合"來概括所有常量的特征呢(還要考慮是否允許00.10 這樣的數(shù)值)。當(dāng)然我們的提取規(guī)則還要能處理2 這樣不含小數(shù)點(diǎn)的數(shù)值。

    3. 乘法運(yùn)算符 *比 +擁有更高的運(yùn)算優(yōu)先級,語句必須被解析為 b1 + (b2 * 0.5)。

    4. b2 * 0.5 的計(jì)算結(jié)果,必須在與 b1 進(jìn)行加法運(yùn)算前就應(yīng)該取得。也就是說對于復(fù)雜的計(jì)算,需要保存很多類似這樣的臨時(shí)運(yùn)算結(jié)果。

    假如你已經(jīng)有了一定的編程經(jīng)驗(yàn),肯定能想到上面這些難點(diǎn),甚至可以說你的編程經(jīng)驗(yàn)越豐富,就越能感受到這其中隱藏著極大的難題。

    不過,編程語言的語法處理器在FORTRAN 誕生后已經(jīng)經(jīng)過了多年的研究,上面的這些難點(diǎn)都已經(jīng)可以從前人那里找到解決方法*。

    在本書中,,上面1 ~ 3 的問題會用到名為yacc 及l(fā)ex 的工具。問題1 和問題2用lex,問題3 通過yacc 解決。yacc 和lex 都是非常老的工具了,現(xiàn)在流行的LL語言大多內(nèi)置了yacc?赡苡腥藭f:"既然是以學(xué)習(xí)為目的去制作一門編程語言,如果還使用工具的話就太投機(jī)取巧了吧。"(這話很有道理。)所以在本書中,也會稍微介紹一下不使用這些工具的解決方法。

    無論是使用工具,還是基于一些已有的解決方案自己編寫,如果能掌握一些竅門的話,自制編程語言其實(shí)并不難。

    那么你想不想試試自己制作一門編程語言呢?自己創(chuàng)造編程語言這件事情,不管怎么說都是很酷的吧。

    *當(dāng)然,在早年原始的研發(fā)條件下,人們?yōu)榱碎_發(fā)第一個(gè)編程語言編譯器還是花費(fèi)了相當(dāng)大的精力,據(jù)說實(shí)現(xiàn)初版的FORTRAN 編譯器所花費(fèi)的工時(shí),累計(jì)達(dá)到了216 人月[1]。

    【責(zé)任編輯:book TEL:(010)68476606】


    回書目   上一節(jié)   下一節(jié)

    原文:1.2 自制編程語言并不是很難 返回讀書頻道首頁


      本文關(guān)鍵詞:自制編程語言,由筆耕文化傳播整理發(fā)布。



    本文編號:110991

    資料下載
    論文發(fā)表

    本文鏈接:http://sikaile.net/wenshubaike/mishujinen/110991.html


    Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

    版權(quán)申明:資料由用戶fa0fc***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請E-mail郵箱bigeng88@qq.com