编译原理——第二章高级语言及其语法描述总结

本文介绍了高级语言的基本概念,包括语法、语义、词法规则和上下文无关文法。详细阐述了文法的四部分组成、文法的类型以及消除二义性的方法。此外,还讨论了表达式优先级和结合性,并通过实例解释了文法与语言的转换。最后,通过习题解析加深了对文法二义性的理解。
摘要由CSDN通过智能技术生成

高级语言及文法描述

一.基本概念

1.程序语言

语法——语法规则和词法规则

语义——描述语法单位的功能和意义

词法规则——合法单词的构成规则(有限状态自动机或正规式描述)

语法规则——合法程序的构成规则(用上下文无关文法描述)

字母表——有限字符集(大小写英文字母,数字,特殊字符),其中每个元素称为符号

单词符号——有独立意义的最基本结构(包括常数,标识符,基本字,算符和界符)

语法单位——由单词符号构成更大的结构(表达式,语句,分程序,函数)

2.上下文无关文法

空字ε——不包含任何符号的序列 

V的闭包——V*

文法——描述语言的语法结构的形式规则

上下文无关文法G——定义的语法范畴(语法单位)完全独立于该范畴可能出现的环境。四个组成部分:一组终结符号,一组非                                终结符号,一个开始符号一组产生式

终结符号(单词符号)——不可再分的基本符号

非终结符号——终结符号和非终结符号组成的符号串的集合

开始符号——特殊的非终结符

产生式——规则,形式为: A→α

句型——从开始符号S推导若干步推出α,称α为句型

句子——仅含终结符号的句型

语法分析树(语法树)——表示推导过程(不一定唯一,可能存在文法二义性)

3.其他语言形式

0型文法(短语文法)——α→β(α中至少含有一个非终结符)

1型文法(上下文有关文法)——对非终结符进行替换的时候必须考虑上下文环境(|α|<=|β|且 S不得出现在任何产生式的右端

2型文法(上下文无关文法)

3型文法(正规文法)——G的任何产生式为A→αB或A→α

二.习题

1.标识符和 名字的区别

    标识符是以字母开头后跟字母跟数字的字符串;当给标识符一定意义时,标识符成为名字。

2.令+、*和↑代表加、乘和乘幂,按优先级规则计算1+1*2↑2*1↑2

    (1)优先顺序(自高至低)为+、*和↑,同级优先采用左结合。

    (2)优先顺序↑、+、*,同级优先采用右结合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值