编译原理 - 概述

编译原理涉及将高级语言转换为机器语言的过程,包括词法分析、语法分析、中间代码生成、代码优化和目标代码生成五个主要步骤。词法分析识别单词符号,语法分析检查语法规则,中间代码生成便于优化,优化阶段提高代码效率,最后生成目标代码。表格管理和出错处理贯穿整个编译过程。
摘要由CSDN通过智能技术生成

概念

程序语言随着计算机的诞生而产生。从最初的机器语言,到后来的汇编语言,再到后来的C语言,再到现在的Java语言,C#语言等等。计算机硬件的性能越来越强,语言的发展也越来越高级。语法越靠近机器,越能被机器理解的语言越低级;语法越靠近自然语言,越能被人理解的语言也就越高级。但是,每一个特定的机器都有特定的指令集,机器只认识属于自己的机器语言。如何将高级语言写出的程序,转换为机器认识的机器语言,需要借助编译器工具来实现。

「编译」的概念其实跟翻译的概念类似。但翻译是一个泛的概念,任何两种语言(比如英语和日语)之间的转换都能被称为是翻译。而「编译」专门是指计算机领域中,高级语言编写的源程序向机器语言目标程序翻译的过程。

一般认为,编译的过程主要有5步:

  • 词法分析
  • 语法分析
  • 中间代码生成
  • 代码优化
  • 目标代码生成

其中,还有两个概念贯穿编译过程的始终:

  • 表格管理
  • 出错处理

编译过程

编译的过程就是将源程序转换为目标程序的过程。
这里写图片描述

词法分析

词法分析就是通过扫描源程序,将源程序中的一个个字符组成一个个有意义的单词符号。对每一个单词符号,要记录单词符号的类别(定义符、标识符、常量等等),还要记录单词符号本身的值。

语法分析

语法分析就是通过扫描单词符号&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值