flexant編譯器
『壹』 新手如何學習編程
熟悉以下關鍵東西,可以邊學邊做,定期訓練,經常思考,長期積累:
1、語法。
2、基礎理論(數學、數據結構、演算法等)。
3、設計方法(編程原則、設計模式、框架設計等)。
4、庫(核心、基礎、UI、擴展、游戲引擎等)。
5、計算機相關(操作系統、網路、圖形學等)。
6、領域知識(游戲設計、網站設計等)。
7、開發工具(編輯器、IDE、自動部署等)。
8、項目管理(進度管理、分工協作、Bug管理、版本控制等)。
最普遍也是最重要的能力:創造力。努力分析並理解好做什麼以及怎麼做。要知道上面那些東西一開始都是不存在的。
具體方法包括:
1、快速閱讀入門教程和書籍,適合學習語言和基礎庫。比如我學Java讀的《Java編程思想》,練習題做過一點,然後學ActionScript就沒讀過書,只讀過Adobe官方文檔《ActionScript 3.0編程》。
2、閱讀庫的文檔、實例、源碼。比如Flash、Flex開發,熟悉官方API很重要,很多細節要具體使用時才注意到,這時候最好做個筆記,雖然我從沒看過我的筆記。
3、做一個自己感興趣或熟悉的小項目,比如我就以黑白棋游戲作為多個語言的試水項目,一樣的邏輯,便於把關注點放在語言特點上。
4、自己動手豐衣足食。廚師有菜譜,程序員可沒菜譜。比如我做游戲,最關鍵的游戲編程知識全部是動手學出來的,很少有專門針對某個業務領域(如游戲)的編程書籍,要麼是入門書,要麼是模式書(如演算法)、理論書(圖形學),很少有書籍教你如何開發一個45度角地圖系統加編輯器的,全靠自己思考,以及看前人的代碼,需要時找些網路資料。關鍵是,可以培養最重要的創造力。
對於演算法和設計模式,可以研讀下,但是關鍵還是靠平時如何使用了。新手勉強不來的。
項目管理方面的,就得靠工作經驗了,多思考多提意見不要只走流程。
方法一:
假如現在有兩個Fortran程序1.f90和2.f90,其中1.f90是主程序,2.f90是在主程序中調用的子程序,將這兩個程序傳到Linux的一個目錄下,使用fortran編譯命令,如PGI的pgf90,Intel的ifort,命令如下:
pgf90 -o exe_name 1.f90 2.f90
ifort -o exe_name 1.f90 2.f90
方法二:
在主程序1.f90中加入include '2.f90'語句,然後在Linux下用fortran命令編譯,命令如下:
pgf90 -o exe_name 1.f90
ifort -o exe_name 1.f90
『叄』 flex是用什麼編譯器啊請大神具體解釋下,急需啊!!1
flex是詞法分析器生成器,你可以到sf.net或者www.gnu.org上去找,或者安裝cygwin環境,裡面有flex包。《Flex&Bison》網上只有英版的,看中文版的《Lex&Yacc》也行,之間沒有什麼太大的差別。
『肆』 有用過ant自動編譯flex項目的嗎
偶然編譯一個開源as3(採用flex sdk——採用flex4.6)項目,由ant配置進行自動編譯,想增加特性,需要在原有編譯預定義全局常量(由-define=XXX:NNNN,VVVV 形式定義)基礎上需要增加參數,如原來只有XXX:NNNN1,VVVV1 現在想還有XXX:NNNN2,VVVV2 。
原來的項目採用的是ant exec 直接調用mxmlc命令行進行編譯(可以不依賴於flex的flexTasks限制),其調用mxmlc傳入參數(傳入的參數是字元串值)採用如下方式
點擊(此處)折疊或打開
<exec executable="${mxmlc.exe}" dir="${basedir}" failonerror="true">
<arg line="'${src.dir}/${package}/${class}.as'" />
...
<arg line="-define=XXXX::nnnn1,'vvv1'" />
</exec>
當然現在編譯是成功的,我依葫蘆畫瓢改寫成
點擊(此處)折疊或打開
<exec executable="${mxmlc.exe}" dir="${basedir}" failonerror="true">
<arg line="'${src.dir}/${package}/${class}.as'" />
...
<arg line="-define=XXXX::nnnn1,'vvv1'" />
『伍』 如何學寫一個編譯器後端
書籍請參考編譯原理的龍書,以及flex,bison,llvm的manual。
如何寫我可以給你一個大致的流程,
編譯器由詞法分析器->語法分析器->中間代碼生成器->後端組成。
用C語言寫編譯器一般可以按照以下步驟:
使用flex生成詞法分析器。(flex可以通過自己編寫的描述文件來自動生成詞法分析器)
2.使用bison生成語法分析器。(bison可以通過自己編寫的描述文件來自動生成語法分析器)
3.通過語法分析器得到輸入代碼的語法樹表示。
4.編寫遍歷函數遍歷語法樹生成中間代碼。(這里使用LLVM的中間代碼表示)
5.利用LLVM工具集來編譯執行所得到的中間代碼。