编译原理:文法与语法分析基本概念

编译原理:文法与语法分析基本概念

语法分析

语法分析器的输入是词法分析后的结果——Token序列。每当调用一次词法分析器将读出一个单词,并将其Token表示回送给语法分析器。语法分析器的输入单位可视为一个Token。

语法错误类型:

  • 起始单词错,包括程序、声明、语句表达式、变量等语法单位的起始单词错误。

  • 后继单词错,包括程序、声明、语句表达式、变量等语法单位的起始单词错误。

  • 标识符和常量单词错。

  • 括号类错误,括号不配对错。

  • 运算符错。

  • 分隔符错。

    语法分析方法:

    分为两大类:自顶向下分析和自底向上分析。

文法和文法分析

产生式:产生式是一个二元组 (U,β) ,通常写成: U::=β 或者 Uβ

​ 其中U是符号,β是符号串。

符号串:是符号的有限序列。如果 {a,b,c,...} ,则a、ab、ca等都是字母表上的符号串。符号串也称为字。特别用 Λ ϵ 来表示空符号串。

非终极符:可以出现于产生式左部和右部的符号。

终极符:只出现于产生式右部的符号。

文法

作用:定义程序的语法结构。一般用G表示,

G=(VT,VN,S,P)

其中,

VT :有限的终极符集

VN :有限的非终极符集

S :文法的开始符,SVN

P :产生式的有限集

语言

文法中的产生式给出了从开始符号出发产生所有合法(符合语法)终极符串(句子,程序)的推导规则。每步的推导过程是将句型中的任一非终极符替换为以该非终极符为左部的产生式右部。

句型:如果有Sβ,则称β为所论文法的句型。

句子:不包含非终极符的句型。

语言:文法G所定义的语言是开始符可导出的所有句子的集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值