编译原理知识点总结——文法的定义

1.从自然语言举例

在这里插入图片描述
基本概念:
在这里插入图片描述
一个文法是用来描述句子的构成规则,那么基本符号是单词,一个文法是用来描述单词的构成规则,那么基本符号是字母。

在这里插入图片描述
2.文法的形式化定义:

在这里插入图片描述
详细解释一下终结符和非终结符

终结符: 通俗的说就是不能单独出现在推导式左边的符号,也就是说终结符不能再进行推导。

非终结符: 不是终结符的都是非终结符。非终结符可理解为一个可拆分元素,而终结符是不可拆分的最小元素。

例子:

有文法G2[S]为:
S->Ap
S->Bq
A->a
A->cA
B->b
B->dB
则表示:S 为开始符,S,A,B 为非终结符,而p,q,a,b,c,d 为终结符

两者关系:
交集为空,而且并起来为文法符号集

在这里插入图片描述

P代表产生式:
在这里插入图片描述
产生式的简写

在这里插入图片描述

S表示开始符号
在这里插入图片描述

符号约定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结 :
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机科学中非常重要的一门课程,涉及到编译器的设计、实现和优化等方面。编译原理知识点主要包括词法分析、语法分析、语义分析、中间代码生成、代码优化和代码生成等。 词法分析是编译过程中的第一步,主要将源代码分解为一个个词法单元,例如关键字、标识符、常量和运算符等,对应到编译器中的Token。语法分析是将词法单元按照语法规则进行组织和分析,生成语法树或抽象语法树。语义分析是对语法树进行类型检查和语义检查,确保编译器生成的代码符合语言的规范和语义要求。 中间代码生成是将源代码转化为中间表示形式,比如三地址码或者虚拟机指令,方便进行后续的代码优化和生成。代码优化是对中间代码进行分析和优化,以提高程序的执行效率和性能。代码生成是将优化后的中间代码转化为目标代码,可以是机器码或者虚拟机指令,用于最终执行。 编译原理知识点涉及到了编程语言的语法和语义,程序的分析和优化技术,以及目标平台的特性和限制等。掌握了编译原理知识点,可以帮助我们更好地理解和设计编译器,提高代码的执行效率和质量。 总的来说,编译原理知识点包括词法分析、语法分析、语义分析、中间代码生成、代码优化和代码生成等,这些知识点是理解和应用编译器的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值