编译原理-文法的定义与分类

本文详细介绍了编译原理中的文法定义及其分类,包括短语结构文法、上下文有关文法、上下文无关文法及正规文法,并通过实例展示了如何判断文法的类别。


前言

语言是一定的群体用来信息交流的工具 ,而信息交流的基础是需要按照共同约定的生成规则理解规则去生成句子和理解句子。计算机的语言具有严格的语法、语义,易于形式化的特征。程序设计语言经过形式化提取后可以得到以下内容:

程序设计语言(Programming Language):组成程序的所有语句的集合。
程序(Program):满足语法规则的语句序列。
语句(Sentence) :满足语法规则的单词序列。
单词(Token) :满足词法规则的字符串。

语言的描述形式——文法,对于单词和语句有不同的概念:

词法——单词
单词的组成规则
描述方法:BNF范式、正规式

语法——语句
语句的组成规则
描述方法:BNF范式、语法(描述)图

一、文法的定义

以赋值语句为例,首先进行如下四个定义:
非终结符号集V =
{<赋值语句>,<左部量>,<右部表达式>,<简单变量>,<下标变量>,<运算符>}
终结符号集T =
{a , b, c, m[1], m[2], m[3], +, -}
语法规则集P =
{<赋值语句> —> <左部量>=<右部表达式> ,……}
开始符号S = <赋值语句>

按照上述定义,则文法G的形式化定义为诶一个四元组:

G = ( V , T , P , S ) G =

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值