c语言文法分析
2015-10-28 17:48
232 查看
程序-> <外部声明><程序><外部声明>
外部声明-> <函数定义>|<声明>
函数定义-> <函数类型><说明符><复合语句>
函数类型-> void|char|int|float
说明符-> <指针 ><直接说明符>|<直接说明符>
指针-> <*>|<*><指针>
直接说明符-> <标识符>|<直接说明符[]>|<直接说明符[常量表达式]>|<标识符(参数序列)>|<标识符()>|<直接说明符,标识符序列>
标识符序列-> <标识符>|<标识符序列><,><标识符>
常量表达式-> <条件表达式>
参数序列-> <参数声明>|<参数声明><,><参数声明>
参数声明-> <声明说明符><声明符>
复合语句-> <{}>|<{<陈述序列>}>|<{<声明序列><陈述序列>}>
声明序列-> <声明符>|<声明序列><声明符>
声明符-> <初始化说明符>|<初始化说明符><,><初始化说明符>
初始化说明符-> <说明符>|<说明符><=><初始化程序>
初始化程序-> <赋值表达式>|<{<初始化序列>}>|<{<初始化序列><,>}>
初始化序列-> <初始化程序>|<初始化序列><,><初始化>
陈述序列-> <陈述语句>|<陈述序列><陈述语句>
陈述语句-> <复合语句>|<表达式语句>|<选择语句>|<循环语句>|<转移语句>
表达式语句-> <;>|<表达式语句><;>
选择语句-> <IF(表达式)><语句>|<IF(表达式)><ELSE><语句>
循环语句-> <WHILE(表达式)><语句>|<FOR(表达式;表达式;表达式)><语句>
转移语句-> <continue><;>|<break><;>|<return><;>|<return><表达式><;>
表达式-> <赋值表达式>|<表达式><,><赋值表达式>
赋值表达式-> <条件表达式>|<一元表达式><赋值运算符><赋值表达式>
条件表达式-> <逻辑或表达式>|<逻辑或表达式><?><表达式><:><条件表达式>
逻辑或表达式-> <逻辑和表达式>|<逻辑或表达式><逻辑和表达式>
逻辑和表达式-> <或表达式>|<和表达式><AND><或表达式>
包涵或表达式-> <异或表达式><包涵或表达式>|<异或表达式>
异或表达式-> <和表达式>|<异或表示><和表达式>
和表达式-> <等值式>|<和等值式><等值式>
等值式-> <关系表达式>
关系表达式-> <转移表达式>|<关系表达><'<'><转移表示式> |<关系表达><'>'><转移表示式>
外部声明-> <函数定义>|<声明>
函数定义-> <函数类型><说明符><复合语句>
函数类型-> void|char|int|float
说明符-> <指针 ><直接说明符>|<直接说明符>
指针-> <*>|<*><指针>
直接说明符-> <标识符>|<直接说明符[]>|<直接说明符[常量表达式]>|<标识符(参数序列)>|<标识符()>|<直接说明符,标识符序列>
标识符序列-> <标识符>|<标识符序列><,><标识符>
常量表达式-> <条件表达式>
参数序列-> <参数声明>|<参数声明><,><参数声明>
参数声明-> <声明说明符><声明符>
复合语句-> <{}>|<{<陈述序列>}>|<{<声明序列><陈述序列>}>
声明序列-> <声明符>|<声明序列><声明符>
声明符-> <初始化说明符>|<初始化说明符><,><初始化说明符>
初始化说明符-> <说明符>|<说明符><=><初始化程序>
初始化程序-> <赋值表达式>|<{<初始化序列>}>|<{<初始化序列><,>}>
初始化序列-> <初始化程序>|<初始化序列><,><初始化>
陈述序列-> <陈述语句>|<陈述序列><陈述语句>
陈述语句-> <复合语句>|<表达式语句>|<选择语句>|<循环语句>|<转移语句>
表达式语句-> <;>|<表达式语句><;>
选择语句-> <IF(表达式)><语句>|<IF(表达式)><ELSE><语句>
循环语句-> <WHILE(表达式)><语句>|<FOR(表达式;表达式;表达式)><语句>
转移语句-> <continue><;>|<break><;>|<return><;>|<return><表达式><;>
表达式-> <赋值表达式>|<表达式><,><赋值表达式>
赋值表达式-> <条件表达式>|<一元表达式><赋值运算符><赋值表达式>
条件表达式-> <逻辑或表达式>|<逻辑或表达式><?><表达式><:><条件表达式>
逻辑或表达式-> <逻辑和表达式>|<逻辑或表达式><逻辑和表达式>
逻辑和表达式-> <或表达式>|<和表达式><AND><或表达式>
包涵或表达式-> <异或表达式><包涵或表达式>|<异或表达式>
异或表达式-> <和表达式>|<异或表示><和表达式>
和表达式-> <等值式>|<和等值式><等值式>
等值式-> <关系表达式>
关系表达式-> <转移表达式>|<关系表达><'<'><转移表示式> |<关系表达><'>'><转移表示式>
相关文章推荐
- c语言文法
- Effective C++笔记(一)
- 在c语言中自定义了一个函数,在main中调用时提示找不到标识符
- 如何禁止类的拷贝构造函数和复制构造函数
- c++11 线程同步信号的使用
- 非纯c++模式实现ogre1.9的Android版
- C语言文法
- 日志库EasyLogging++学习系列(7)—— 记录方式详解
- 如何解决C++中用eof()多读一次
- 在C#中使用c++编译的ocx的方法
- c++函数指针
- C++类成员指针
- C++类成员指针
- C++ const限定符之顶层const & 底层const & 指针 & 引用之间的关系
- C语言中内存分配
- C++设计模式——命令模式
- c语言,可变参数列表实现任意个数求平均值
- oc调用c++
- c++中的new和c中的malloc区别
- leetcode 260 : Single Number III