在上次的文法中有存在左递归的情况,将会影响以后的语法分析使用,所以需要消除左递归,以便于语法分析使用。 <程序> → <外部声明> <程序>` <程序>`→<程序> | ε <外部声明> → <函数定义> | <定义> <函数定义> → <函数声明> <函数体> <函数声明> → <函数返回类型> ...
分类:
其他好文 时间:
2016-12-08 23:54:37
阅读次数:
276
简单文法(以c语言为例) //程序 <program> : external_declaration //外部声明 | body program //函数主体 程序 //外部声明 <external_declaration> : declaration external_declaration // ...
分类:
编程语言 时间:
2016-12-03 02:05:32
阅读次数:
220
C程序语法(无左递归) <程序> —〉 <外部声明> | <函数定义><外部声明> —〉<头文件> | <变量> | <结构体> <头文件> —〉 #include<文件名><文件名> —〉 stdio.h丨stdlib.h丨string.h<结构体> —〉 <结构体声明〉|<变量><结构体声明> ...
分类:
其他好文 时间:
2016-12-02 22:44:11
阅读次数:
173
<程序> —〉 <外部声明> | <函数定义><外部声明> —〉<头文件> | <变量> | <结构体> <头文件> —〉 #include<文件名><文件名> —〉 stdio.h丨stdlib.h丨string.h<结构体> —〉 <结构体声明〉|<变量><结构体声明> —〉 struct<标识 ...
分类:
其他好文 时间:
2016-12-02 21:16:52
阅读次数:
158
文法 <程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明符><符合语句> <类型说明>→<void>|<char>|<int>|<float> <声明符>→<指针直接声明符>|<直接声明符> <指针>→<'*'>|< '*' 指针> ...
分类:
编程语言 时间:
2016-12-01 14:03:06
阅读次数:
306
<源程序>→<外部声明>|<外部声明><函数体> <外部申明>→<头文件><函数声明>|其他声明 <函数体>→<返回值类型><标识符><形参><复合语句> <返回值类型>→void|char|int|float <标识符>→<字母>|<标识符><字母>|<标识符><数字> <字母>→a|b|c|.. ...
分类:
编程语言 时间:
2016-11-04 17:08:36
阅读次数:
159
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明><复合语句> <类型说明>→void|char|int |float <声明>→<指针直接说明符>|<直接说明符> <指针>→’*‘|'*'指针 <直接说明符>→<标识符>|<直接说 ...
分类:
编程语言 时间:
2016-11-03 14:02:27
阅读次数:
129
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明><复合语句> <类型说明>→void|char|int |float <声明>→<指针直接说明符>|<直接说明符> <指针>→’*‘|'*'指针 <直接说明符>→<标识符>|<直接说 ...
分类:
编程语言 时间:
2016-11-03 13:48:35
阅读次数:
268
程序->源程序|开始<文件头>|<函数>结束 源程序 → 外部声明 | 子程序(外部声明) 文件头->函数 函数->库函数|函数主体|用户自定义函数 库函数->#include<stdio.h>|#define... 函数主体->函数定义| 函数声明|语句串|选择结构 函数定义 → 函数类型(复合句 ...
分类:
编程语言 时间:
2016-11-03 13:43:18
阅读次数:
252
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明符><符合语句> <类型说明>→<void>|<char>|<int>|<float> <声明符>→<指针直接声明符>|<直接声明符> <指针>→<'*'>|< '*' 指针> <直 ...
分类:
编程语言 时间:
2016-11-01 14:18:03
阅读次数:
173