语法分析)01文法和语法的定义

Posted ggotransfromation

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语法分析)01文法和语法的定义相关的知识,希望对你有一定的参考价值。

编译技术图式(第四章 语法分析)01文法和语法的定义

1、基本概念


1)词法规则: 哪些字符串合法或者不合法

  字母表:语言允许使用字符的集合

  词汇:由字符组成的有限串(字符串) 

 

  标识符:函数名,变量名等

2)语法规则:

  句子:一个“词汇序列”

  确定句子在形式上是否合法

  提供句子的结构: if ( 表达式 ) 语句 else 语句

3)语法的表示:

  (1)自然语言描述

  (2)形式化描述(BNF)

  (3)转换图(语法图)

2、形式化描述


 

终结符、非终结符、产生式

1)定义

技术图片

2)产生式的表示

技术图片               技术图片

技术图片

3)产生式的约定

(1)非终结符,用英文大写字母表示

(2)开始符号,仅有1个,第一个产生式的左边符号

4)文法的表示

技术图片

5)文法的分类

(1)0型文法(无限制文法)

(2)1型文法(上下文有关文法)

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

(4)3型文法(正则文法,右线性文法) 

6)推导和规约

(1)由句型到句子,把产生式左边替换为右边,由抽象到具体

(2)由句子到句型,把产生式右边替换为左边,由具体到抽象

7)句型和句子

技术图片

句型:由开始符号推导出的任意符号串

句子:某个句型仅由终结符组成,只含终结符的句型

8)文法G产生的语言

G产生的所有句子的集合, 记为L(G)

技术图片

3、推导树(语法树)


用图展示一个句型(句子)的推导过程

倒立的树

  • 根在上、叶在下
  • 开始符号为“树根”

技术图片

 

 推导树总结

技术图片

 

 技术图片

 

以上是关于语法分析)01文法和语法的定义的主要内容,如果未能解决你的问题,请参考以下文章

用JAVA实现LL文法语法分析程序

文法和语法总结与梳理

编译原理-第四章 语法分析-4.6 简单LR技术

编译原理:LL文法 语法分析器(预测分析表法)

语法分析-LL分析表的构造

语法制导的翻译