zoukankan      html  css  js  c++  java
  • 第一次作业:编译原理

    1)编译程序是高级服务程序,是将高级语言写的源程序翻译成等价的低级语言的目标程序。

     解释程序也是高级服务程序,是一种直接执行源程序的形式,顺序为读一句源程序,翻译一句,执行一句,是不会产生目标代码的。

     汇编程序是低级服务程序,是将汇编语言写的源程序翻译成由机器指令和其他信息组成的目标程序。 

    2)词法分析:通过输入源程序,对源程序的字符串进行扫描和分解,识别出每个的单词。

       语法分析:一种线性分析,属于一种层次结构分析的方法。在词法分析的基础上,是根据语法的规则,把单词符号分解成各种语法单位,是一种通过分析,确定整个输入串是否构成语法是上正确的程序。

       词义分析与中间代码产生:产生中间代码,对语法分析识别出的各类语法范畴,分析其含义,并进行初步翻译。

       优化:优化的任务是对前段产生的中间代码进行加工变换,为了在最后阶段产生更为高效的目标代码。 

       最终代码生产:实现最后的翻译。把中间代码变换成机器上的低级语言代码。

    3)根本区别:在编译方式过程中,机器运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程。在解释方式下,解释程序和源程序要参与到程序的运行过程中,运行程序的控制权在解释程序。

       编译和解释最大区别是:执行编译后会产生目标代码,但是解释不会。

    4)方舟编译器多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,能够有效解决安卓程序“边解释边执行”的低效率问题。方舟编译器采用全程执行机器码高效运行程序,架构进一步得到优化,可供开发者在开发环境一次性的将高级语言编译为机器码,手机安装应用程序后可全速运行程序,带来效率上的极大提升。

  • 相关阅读:
    小程序开发学习记录(一)
    解决移动端touch事件与click冲突的问题
    解决node.js使用fs读取文件出错
    防抖和节流
    promise
    ES6新的特性有哪些?
    css盒模型
    CSS3有哪些新特性?
    ES6新增的数据类型Map和Set。
    js求两个数组的交集|并集|差集|去重
  • 原文地址:https://www.cnblogs.com/keshangming/p/11457954.html
Copyright © 2011-2022 走看看