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工具集来编译执行所得到的中间代码。