您的位置:首页 > 其它

3.1语法分析-语法分析简介

2016-06-02 13:22 253 查看

前端

源程序–<词法分析器–记号–语法分析–抽象语法树–语义分析器>–中间表示

语法分析器的任务

记号流和语言的语法规则–>语法分析器–>语法树

错误例子分析

语法错误处理

if ((x >5)
y = "hello"
else
z = 1,


经过语法分析后程序会报错

Syntax Error: line 1, missing )

Syntax Error: line 2, missing ;

Syntax Error: line 4, expecting ; but got ,

语法树的构建

if ((x >5)
y = "hello"
else
z = 1,


经过语法分析会构建出一棵语法树:



线路图

数学理论:上下文无关文法(CFG)

描述语言语法规则的数学工具

自顶向下分析

递归下降分析算法(预测分析算法)

LL分析算法

自底向上分析

LR分析算法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息