编译器的种类
-
面议
简单讲,编译器就是将“一种语言(通常为语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。交叉编译器在生成新的硬件平台时非常有用。“源码到源码编译器”是指用一种语言作为输入,输出也是语言的编译器。
编译器可分为以下几个种类:
1、处理器
作用是通过代入预定义等程序段将源程序补充完整。
2、前端
前端主要负责解析输入的源代码,由语法分析器和语
意分析器协同工作。语法分析器负责把源代码中的‘单词’找出来,语意分析器把这些分散的单词按预先定义好的语法组装成有意义的表达式,语句 ,函数等等。 例如“a = b + c;”前端语法分析器看到的是“a, =, b , +, c;”,语意分析器按定义的语法,先把他们组装成表达式“b + c”,再组装成“a = b + c”的语句。 前端还负责语义的检查,例如检测参与运算的变量是否是同一类型的,简单的错误处理。终的结果常常是一个抽象的语法树,这样后端可以在此基础上进一步优化,处理。
3、后端
编译器后端主要负责分析,优化中间代码以及生成机器代码。
一般说来所有的编译器分析,优化,变型都可以分成两大类: 函数内还是函数之间进行。很明显,函数间的分析,优化更准确,但需要更长的时间来完成。
随着近两年各种智能手机、平板电脑、车载电子等各种消费品的蓬勃发展,Arm编译器体系结构的处理器,作为这些消费品的处理核心,也得到了长足的进步,甚至击败了Intel,在移动嵌入式领域占。
亿道电子是国内全面的开发工具提供商, 致力于将全球的软件产品引荐给国内研发型企业使用,为企业提供研发、设计、管理过程中使用的各种软件工具,并致力于和客户一同提高研发、设计效率,缩短设计周期。亿道电子先后与Arm、Altium、Ansys、QT、TestPlant、CollabNet、Parasoft以及TouchGFX等多家全球公司建立战略合作伙伴关系,并成为他们在中国区的重要分销合作伙伴。
亿道电子专注开发、设计、管理工具数十年,客户超过6000家,具有丰富的工具使用及客户支持经验积累,可以为客户提供从Arm开发、EDA板级设计、软件编译及测试工具、结构设计工具、多物理场仿真工具以及嵌入式GUI工具等产品与服务。亿道电子在北京、上海、深圳设有分公司,业务遍布全国。
中国区总代理,亿道电子
亿道电子: 电话: :3034576009
深圳市宝安区宝城28区 大宝路49-1号 金富来商务大厦6楼
北京市朝阳区阜通东大街1号院 望京SOHO T1-B-1709室
上海市杨浦区国定路335号复旦科技创业园2号楼10层