美文网首页笔记
编译原理笔记—编译概述

编译原理笔记—编译概述

作者: 没昔 | 来源:发表于2019-11-07 21:37 被阅读0次

编译程序是计算机系统中的重要的系统软件,是高级语言的支撑基础。本篇主要为编译原理的初步了解。

◆编译程序

    计算机只懂自己独特的指令系统,也就是说它只能直接执行机器语言编写程序设计。但,人们多数用高级程序设计语言来编写程序,所以,需要一个翻译程序将其翻译为机器语言程序才能执行。

    (1)翻译程序:

             把一种语言(源语言)写的程序翻译成与之等价的另一种语言(目标语言)这样的程序就是翻译程序

            源程序->翻译程序->目标程序

    (2)编译程序:

            源语言是高级语言(例Pascal,c,Ada,Java语言),目标语言是汇编语言或机器语言之类的低级语言,这样的翻译程序为编译程序

            源程序(高级语言所写)->编译程序->目标程序(汇编语言或机器语言等)

    编译方式在计算机上执行用高级语言编写的程序分编译阶段和运行阶段两个阶段进行

    编译阶段生成的目标程序不是机器语言程序,而是汇编语言程序则分编译阶段,汇编阶段和运行阶段三个阶段进行

(注意:翻译程序比编译程序概念大)

◆编译过程

    编译过程是一种语言的翻译过程,翻译大致过程为:

    1.词法分析—单词

        对程序的字符串从左到右扫描识别和分,根据词法规则(词法规则是单词符号形成的规则)识别出一个一个独立意义的单词符号。

    2.语法分析—单词串

        在词法分析的基础上,根据语言语法从单词符号串中识别出语法单位(例,表达式)进行语法检查

    3.语义分析—句子含义

        对于语言的各种语法单位赋予具体的意义。语义分析的任务是首要对每种语法单位进行静态的语义检查,然后分析其含义,并用另一种语言形式来描述这种语义

    4.根据相关关系及语法结构进行一系列必要修饰作用

        也可以称为代码优化环节,对当前阶段产生的中间代码进行等价改造,使其更省时间和空间,更为优化。优化主要包括局部优化和循环优化。

    5.翻译成另一种语言

        即目标代码生成。

◆编译程序的结构

综上,编译程序结构为:

        源程序—>词法分析程序—>语法分析程序—>语义分析及中间代码生成程序—>代码优化程序—>目标代码生成程序程序—>目标程序

相关文章

  • 编译原理笔记—编译概述

    编译程序是计算机系统中的重要的系统软件,是高级语言的支撑基础。本篇主要为编译原理的初步了解。 ◆编译程序 计算机只...

  • 编译原理概述

    编译器原理 词法分析器 语法分析器 语义分析器 中间代码生成 符号表 独立机器的代码优化器 代码生成器 依赖于机器...

  • 编译原理(1)——概述

    目录 计算机语言发展 高级语言分类 翻译系统 编译系统功能分析 编译程序总体结构 编译程序的生成 打赏作者 本文引...

  • [Common] 编译原理概述

    心血来潮第二波~ 这次参照了Stanford的课啦:https://courses.edx.org/courses...

  • [转]编译原理概述

    参考原文[https://baijiahao.baidu.com/s?id=1725604677601817162...

  • kN_编译原理_2

    大学期间的笔记补全。编译原理内容太多分几次。课本《编译原理》第三版,陈火旺等编著。笔记总目录:一、引论二、高级语言...

  • kN_编译原理_1

    大学期间的笔记补全。编译原理内容太多分几次。课本《编译原理》第三版,陈火旺等编著。笔记总目录:一、引论二、高级语言...

  • kN_编译原理_3

    大学期间的笔记补全。编译原理内容太多分几次。课本《编译原理》第三版,陈火旺等编著。笔记总目录:一、引论二、高级语言...

  • 无处不在的反射

    本文不讲反射的具体实现。 1.反射的原理 - class对象 11)class对象概述 编译阶段,编译器将java...

  • 编译原理笔记

    原文:传送门 或者:传送门 编译器的前后端 编译器以中间代码为界限,又可以分前端和后端。比如 clang 就是一个...

网友评论

    本文标题:编译原理笔记—编译概述

    本文链接:https://www.haomeiwen.com/subject/cdivbctx.html