亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12345
最近訪問(wèn)板塊 發(fā)新帖
樓主: cjaizss
打印 上一主題 下一主題

【大話IT】編譯器的設(shè)計(jì)其實(shí)遠(yuǎn)沒(méi)想象中那么妖魔化 [復(fù)制鏈接]

求職 : 軟件工程師
論壇徽章:
3
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-07 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-12-13 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-05 06:20:00
41 [報(bào)告]
發(fā)表于 2016-08-21 18:58 |只看該作者
終于可以發(fā)帖了, 其實(shí)很多人都把編譯器搞復(fù)雜了, 如果用復(fù)雜的工具和復(fù)雜的思路去思考問(wèn)題, 問(wèn)題就會(huì)更加復(fù)雜.

總的來(lái)說(shuō), 編譯器技術(shù)就是將一種語(yǔ)法的文本解析 , 用另外一種語(yǔ)言來(lái)表達(dá)它的邏輯. 如果是翻譯, 就是編譯, 如果是解釋, 就是解釋器.

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-11-05 14:38:4115-16賽季CBA聯(lián)賽之新疆
日期:2016-11-11 18:38:06
42 [報(bào)告]
發(fā)表于 2016-08-26 09:52 |只看該作者
對(duì),從簡(jiǎn)單做起,C語(yǔ)法太復(fù)雜,另外設(shè)計(jì)個(gè)語(yǔ)法簡(jiǎn)單的語(yǔ)言并實(shí)現(xiàn)之,逐步提高能力

論壇徽章:
0
43 [報(bào)告]
發(fā)表于 2016-08-30 09:27 |只看該作者
1. 你平常用哪種語(yǔ)言編寫(xiě)程序?用什么編譯環(huán)境?
  1. 碩士畢業(yè)第7年了,平時(shí)主要使用c/c++;輔助性的語(yǔ)言包括bash shell, python, ruby, lua, vimscript;這些語(yǔ)言我主要是用于一些需要腳本及快速開(kāi)發(fā)的地方,比如程序編譯(scons依賴python), ruby偶爾用來(lái)開(kāi)發(fā)一些工具,lua因?yàn)槲倚枰胠ualatex,vimscript因?yàn)槲倚枰胿im,有時(shí)候需定制化修改vim插件;java和c#很少用了,雖然很多人認(rèn)為java和c#才是現(xiàn)代語(yǔ)言;對(duì)了,golang花了很多時(shí)間學(xué)習(xí),那時(shí)候想通過(guò)它做服務(wù)端,被rob pike影響了,但最后也沒(méi)怎么學(xué)以致用。
  2. 編譯環(huán)境我主要使用GCC,也安裝了LLVM-clang,現(xiàn)在主要在linux和osx上面工作和學(xué)習(xí)。
復(fù)制代碼

2. 你熟悉編譯原理嗎,了解詞法分析、語(yǔ)法分析、上下文無(wú)關(guān)文法、IR、LL(k)文法、LR(k)文法等術(shù)語(yǔ)嗎?
  1. 編譯原理與形式語(yǔ)言這門(mén)課大學(xué)學(xué)過(guò),留在記憶里面的只有自動(dòng)機(jī),詞法分析;其它的全部忘記了。工作之后抽空了解了并研究了一些這方面的知識(shí):詞法分析即lexcial analysis(scanning),編譯器的第一步,生成詞法單元序列;語(yǔ)法分析即syntax analysis(parsing),編譯器的第二步,根據(jù)詞法單元序列生成語(yǔ)法樹(shù)(syntax tree),然后交給后面的語(yǔ)義分析去處理;上下文無(wú)關(guān)文法,LL,LR文法看過(guò)又忘了,屬于形式語(yǔ)言里面的東西吧,能記得就是LL,LR如何更好的掃描,掃描更少次數(shù)得到生成式。
復(fù)制代碼

3. 你了解過(guò)lex/yacc嗎?使用它們做過(guò)分析嗎?
  1. 了解過(guò)一些,包括flex,bison,還有boost里面的spirit;方便生成詞法分析器,語(yǔ)法分析器,cc即compiler compiler;曾經(jīng)要做點(diǎn)regex相關(guān)的東西,嘗試了一點(diǎn)點(diǎn)。
復(fù)制代碼

4. 你想過(guò)自己設(shè)計(jì)一種語(yǔ)言,并為之設(shè)計(jì)編譯器嗎?如果你想設(shè)計(jì),那你該如何一步步的做呢?
  1. 想過(guò)的;尤其在我了解過(guò)llvm項(xiàng)目之后;llvm會(huì)讓編譯器設(shè)計(jì)更簡(jiǎn)單,更加模塊化,包括更容易給end user使用編譯器的庫(kù);比如vim的插件ycm就依賴llvm-clang;
  2. 我是想設(shè)計(jì)自己的語(yǔ)言,但還沒(méi)有頭緒;我想首先要想明白設(shè)計(jì)語(yǔ)言干嘛?無(wú)論為了學(xué)習(xí)還是工作;我想設(shè)計(jì)一門(mén)類似ruby的語(yǔ)言,我喜歡ruby的style勝過(guò)python;
  3. 我想首先我要了解一些編譯器制作工具,前期盡量通過(guò)集成利用的方式來(lái)實(shí)驗(yàn)吧,先娛樂(lè)為主,just for fun。
復(fù)制代碼

論壇徽章:
59
2015年亞洲杯之約旦
日期:2015-01-27 21:27:392015年亞洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵節(jié)徽章
日期:2015-03-06 15:50:392015年亞洲杯之阿聯(lián)酋
日期:2015-03-19 17:39:302015年亞洲杯之中國(guó)
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03雙子座
日期:2014-12-10 21:39:16處女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
44 [報(bào)告]
發(fā)表于 2017-01-20 13:44 |只看該作者
1. 你平常用哪種語(yǔ)言編寫(xiě)程序?用什么編譯環(huán)境?
   >> 我要書(shū), 快把書(shū)給我
2. 你熟悉編譯原理嗎,了解詞法分析、語(yǔ)法分析、上下文無(wú)關(guān)文法、IR、LL(k)文法、LR(k)文法等術(shù)語(yǔ)嗎?
   >> 我要書(shū), 快把書(shū)給我
3. 你了解過(guò)lex/yacc嗎?使用它們做過(guò)分析嗎?
   >> 我要書(shū), 快把書(shū)給我
4. 你想過(guò)自己設(shè)計(jì)一種語(yǔ)言,并為之設(shè)計(jì)編譯器嗎?如果你想設(shè)計(jì),那你該如何一步步的做呢?
   >> 我要書(shū), 快把書(shū)給我


:luya::luya::luya::luya::luya::luya:
:luya::luya::luya::luya::luya::luya::luya::luya:
:luya::luya::luya::luya::luya::luya::luya::luya:

論壇徽章:
2
綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-07-06 06:20:00綜合交流區(qū)版塊每日發(fā)帖之星
日期:2016-08-16 06:20:00
45 [報(bào)告]
發(fā)表于 2017-01-20 15:08 |只看該作者
1,強(qiáng)烈支持樓主ing……

論壇徽章:
0
46 [報(bào)告]
發(fā)表于 2017-06-24 22:42 |只看該作者
活動(dòng)過(guò)了,貼子就空了。

才看到,補(bǔ)充幾句無(wú)關(guān)的吧。

編譯器是所有軟件的重中之重,包括os的構(gòu)建都不能離開(kāi)編譯器,確保編譯器正確是編譯器實(shí)現(xiàn)的首要目標(biāo),注意,這個(gè)目標(biāo)不是優(yōu)化。

編譯器優(yōu)化很復(fù)雜,很復(fù)雜, 看VLIW編譯器的實(shí)現(xiàn)就可以理解當(dāng)前VLIW的處理器基本上死光了。

lex/yacc/ bison這些已經(jīng)算是古老工具了。

當(dāng)前編譯器源到源的編譯反而是重點(diǎn),例如openCL 轉(zhuǎn)。。。 , verilog/VHDL轉(zhuǎn)c, system-c 等。

國(guó)際上開(kāi)發(fā)編譯器的很多,例如 ibm, intel, microsoft, gcc, llvm , sdcc,  ...... 國(guó)內(nèi)不清楚,易語(yǔ)言算一個(gè)?  其他定制gcc之類的還是不要算。

國(guó)內(nèi)編譯器看法基本上已經(jīng)沒(méi)有曙光了。

論壇徽章:
13
15-16賽季CBA聯(lián)賽之八一
日期:2016-07-08 21:00:1415-16賽季CBA聯(lián)賽之同曦
日期:2017-02-15 14:26:1515-16賽季CBA聯(lián)賽之佛山
日期:2017-02-20 14:19:2615-16賽季CBA聯(lián)賽之青島
日期:2017-05-07 16:49:1115-16賽季CBA聯(lián)賽之廣夏
日期:2017-07-30 09:13:1215-16賽季CBA聯(lián)賽之廣東
日期:2018-07-05 22:34:3615-16賽季CBA聯(lián)賽之江蘇
日期:2018-09-03 12:10:2115-16賽季CBA聯(lián)賽之上海
日期:2018-09-25 03:49:2215-16賽季CBA聯(lián)賽之廣東
日期:2018-09-25 04:09:12
47 [報(bào)告]
發(fā)表于 2017-08-20 07:56 |只看該作者
gcc源碼看不懂,求版主送我一本

論壇徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:53:17
48 [報(bào)告]
發(fā)表于 2018-04-12 11:07 |只看該作者
很久沒(méi)來(lái)了,既然看到了,我也來(lái)補(bǔ)充
1. 你平常用哪種語(yǔ)言編寫(xiě)程序?用什么編譯環(huán)境?
C/C++,VS、KeilC和GCC
2. 你熟悉編譯原理嗎,了解詞法分析、語(yǔ)法分析、上下文無(wú)關(guān)文法、IR、LL(k)文法、LR(k)文法等術(shù)語(yǔ)嗎?
熟悉。有幸參與了一個(gè)編譯器設(shè)計(jì)項(xiàng)目,對(duì)于機(jī)器運(yùn)行代碼的原理和認(rèn)識(shí)有了一刀999級(jí)的提升
3. 你了解過(guò)lex/yacc嗎?使用它們做過(guò)分析嗎?
實(shí)操過(guò)Flex/Bison。原理很簡(jiǎn)單,發(fā)明這個(gè)人的有點(diǎn)不算震撼的小聰明
4. 你想過(guò)自己設(shè)計(jì)一種語(yǔ)言,并為之設(shè)計(jì)編譯器嗎?如果你想設(shè)計(jì),那你該如何一步步的做呢?
沒(méi)想過(guò)設(shè)計(jì)一種語(yǔ)言,更沒(méi)想過(guò)為之設(shè)計(jì)編譯器。我真的老了。
編程語(yǔ)言無(wú)外乎就是變量、計(jì)算、賦值、此外配合調(diào)用分支和循環(huán),把所有細(xì)節(jié)都做一遍,做為自修的話,實(shí)在浪費(fèi)時(shí)間。


吐槽:
國(guó)內(nèi)企業(yè)和單位普遍都比較浮躁、自私、貪婪,投入成本做不立即出效益的事情是不會(huì)做的。
連政府也是,啥掙錢(qián)干啥。啥掙錢(qián)呢?納稅最多的掙錢(qián),啥納稅最多?浮躁的暴利行業(yè),誰(shuí)干這個(gè)?無(wú)恥的單位和土豹子老板們。誰(shuí)成就的他們?是我們百姓自己。為什么?還是浮躁、自私、貪婪。


給后來(lái)者一些忠告:
在這細(xì)節(jié)浩如煙海的計(jì)算機(jī)世界里,如果你是做純軟應(yīng)用的,比如做WEB的或者銀行證券類這種應(yīng)用,純玩應(yīng)用邏輯的,大可不必浪費(fèi)太多時(shí)間研究編譯器實(shí)現(xiàn)。
如果是做性能密集應(yīng)用的,比如密集計(jì)算、信號(hào)處理、圖形、嵌入式等,編譯器實(shí)現(xiàn)是絕對(duì)的必修課。

論壇徽章:
0
49 [報(bào)告]
發(fā)表于 2018-05-09 18:22 |只看該作者
恕我直言編譯器可不是編譯原理那本書(shū),編譯器和系統(tǒng)密不可分,諸如LISP、BISCE、forch這樣的教學(xué)型語(yǔ)言,pascal那么流行,最終也是停留在大學(xué)校園里,我們現(xiàn)在見(jiàn)到的所有的操作系統(tǒng)都有UNIX V的影子,可能win95與眾不同,但是Win95開(kāi)始的所有的版本采用的都是C和C++編譯器構(gòu)建的內(nèi)核,曾經(jīng)有傳言,xp系統(tǒng)使用的是BISCE編寫(xiě)的大多數(shù)源代碼,事實(shí)上,win10的內(nèi)核仍然都是C++和C編譯器構(gòu)建的,由于微軟不開(kāi)源,誰(shuí)也不知道微軟這個(gè)編譯器的構(gòu)建原理,毋庸置疑也是當(dāng)年UNIX V的386移植版改寫(xiě)而來(lái)的。所以說(shuō),你要想真正的成為大牛,必須吃透當(dāng)年UNIX V那25000行C語(yǔ)言的內(nèi)核源代碼,那是我們現(xiàn)在計(jì)算機(jī)軟件工業(yè)的基礎(chǔ)。
12345
返回列表 發(fā)新帖
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP