文法分析与递归下降分析

Posted

tags:

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

C语言程序——〉main函数,调用数据库|函数声明|函数定义

Main函数——〉函数定义变量|调用函数

函数声明——〉函数名、参数、函数类型

定义变量——〉函数类型

函数类型——〉void| CHAR| INT| FLOAT

定义——〉定义变量|调用函数

参数——〉参数类型、参数名

参数类型——〉void| CHAR| INT| FLOAT

易c语言文法

<程序> —〉 <外部声明> | <函数定义>

<外部声明> —〉<头文件> | <变量> | <结构体>

<头文件> —〉 #include<文件名>

<文件名> —〉 stdio.h丨stdlib.h丨string.h

<结构体> —〉 <结构体声明〉|<结构体成员列表>

<结构体声明> —〉 struct<结构名>

<结构体成员列表> —〉<变量>

<结构名> —〉<标识符>

<函数定义> —〉 <类型说明><函数名><参数列表><复合语句>

<函数名> —〉<标识符>

<参数列表〉 —〉<类型说明><变量名>

<复合语句> —〉<变量>|<语句>

<语句> —〉<表达式语句〉|<选择语句>|<循环语句>|<跳跃语句>

<表达式语句> —〉 <赋值表达式>|<关系表达式>|<逻辑表达式>

<赋值表达式> —〉 = | += | =+ | -= | =-

<关系表达式> —> 〉| < | 〉=| <=

<逻辑表达式> —〉 + | - | * | /

<选择语句> —〉 if else语句| switch语句

<循环语句> —〉 for语句|while语句|do while语句

<跳跃语句> —> return语句|break语句|continue语句

<变量> —> <类型>丨<变量名>丨<变量值>

<类型说明> —> int丨char丨double丨float丨long

<变量名> <==> S

S —> A|SB

A —> a|b|c|……y|z

B —> 0|1|2|3|4|5|6|7|8|9

<变量值> —> <字母>丨〈数字〉

<标识符> 〈==〉 S

S —> a|b|c|……y|z|S

<字母> —> a|b|c|……y|z

<数字> 〈==〉 

A —> 1|2|3|4|5|6|7|8|9

S —> A|SA|SA0

以上是关于文法分析与递归下降分析的主要内容,如果未能解决你的问题,请参考以下文章

编译递归下降分析法

软件构造实验三-递归下降分析分析法

LL文法的判断,递归下降分析程序

LL文法的判断,递归下降分析程序

LL文法的判断,递归下降分析程序

LL文法的判断,递归下降分析程序