编译原理-文法的定义与分类
前言
语言是一定的群体用来信息交流的工具 ,而信息交流的基础是需要按照共同约定的生成规则和理解规则去生成句子和理解句子。计算机的语言具有严格的语法、语义,易于形式化的特征。程序设计语言经过形式化提取后可以得到以下内容:
程序设计语言(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 =

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

被折叠的 条评论
为什么被折叠?



