简化版c语言文法
<程序> → <外部声明> | <程序的外部声明>
<标识符类型> → <无类型> | <字符> | <整型> | <浮点型>
<标识符列表> : <标识符> | <标识符列表 ,标识符>
<常数表达式> → <条件表达式>
<复合语句> → <{ }> | <{ 语句列表 }> | <{ <声明列表> <语句列表> }>
<声明列表> → <声明> | <声明列表> <声明>
<语句列表> → <语句> | <语句列表> <语句>
<语句> | <复合语句> | <表达式语句> | <选择语句> | <循环语句> |<跳转语句>
<表达式语句> → <表达式;>
<选择语句> : < IF(表达式)语句> | < IF(表达式)语句 > < ELSE 语句>
<循环语句> → < WHILE(表达式)语句> | < FOR(表达式语句表达式语句)语句> | < FOR(表达式语句表达式语句表达式)语句>
<表达式> : <赋值表达式> | <表达式, 赋值表达式>
<赋值表达式> → <条件表达式> | <一元表达式> <赋值操作符> <赋值表达式>
<条件表达式> → <逻辑‘或’表达式> | <逻辑‘或’表达式?> <表达式:> <条件表达式>
<加法表达式> : <乘法表达式> | <加法表达式 + 乘法表达式> | <加法表达式 - 乘法表达式>
<乘法表达式> : <强制转换表达式> | <乘法表达式 * 强制转换表达式> | <乘法表达式 / 强制转换表达式> | <乘法表达式 % 强制转换表达式>
简化版c语言文法的更多相关文章
- C语言文法
C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明 → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...
- 1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)
阅读并理解提供给大家的C语言文法文件. 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图 ...
- 1029 C语言文法定义与C程序的推导过程
1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,写出用上述文法产生这段C程序的推导过程. program → exte ...
- c语言文法简化版文法
<源程序>→<外部声明>|<外部声明><函数体> <外部申明>→<头文件><函数声明>|其他声明 <函数体&g ...
- 我的mini_c语言文法设计
//这个文件主要是用来描述当前源语言的词法结构和语法结构 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此 ...
- 消除左递归c语言文法
<程序> -〉 <外部声明> | <函数定义><外部声明> -〉<头文件> | <变量> | <结构体> <头 ...
- 简单的C语言文法
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- 实验二 c语言文法
<程序>-><声明>|<程序><函数> <函数>-><修饰符><标识符><形式参数>< ...
- 简化C语言文法
程序 → 外部声明|程序 外部声明 外部声明 → 定义函数|定义 函数定义 → 类型标识符 声明部分语句 类型标识符 → 空类型|字符型|整型|浮点型 声明部分语句 → 指针 直接声明|直接声明 指针 ...
随机推荐
- The Same Game-POJ1027模拟
The Same Game Time Limit: 1000MS Memory Limit: 10000K Description The game named "Same" is ...
- AWK命令学习
使用方法 awk 'pattern {action}' {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到 ...
- JAVA可阻塞队列-ArrayBlockingQueue子类BlockingQueue的应用,使用它来实现子线程打印10次,主线程打印100次,如此反复
/** * 使用BlockingQueue实现主子线程互相打印 * @author duwenlei * */ public class BlockingQueueTest { public stat ...
- Mybatis配置文件
XML 映射配置文件 MyBatis 的配置文件包含了设置(settings)和属性(properties)信息. properties 这些属性都是可外部配置且可动态替换的,既可以在典型的 Java ...
- Android 软件盘 Editext 问题
显示的问题:android:windowSoftInputMode="adjustPan|stateHidden" 弹出布局Editext并且挤上去 android:windowS ...
- psr的规范
基本代码规范 本篇规范制定了代码基本元素的相关标准, 以确保共享的PHP代码间具有较高程度的技术互通性. 关键词 "必须"("MUST")."一定不可 ...
- synergy 两台Windows电脑配置过程
Synergy 介绍 软件作用 Synergy 两台独立电脑,共享一套鼠标和键盘的工具, 软件原理(我自己想的) 保证两台电脑在一个局域网内,可以相互Ping通的电脑(这样才能直接通过TCP连接) 将 ...
- 将自己库添加Cocoapods支持
给库添加Cocoapods支持, 使这个工具使用起来更加方便, 更好的使用Cocoapods, 助力iOS程序开发, 下面进入正题, 想要实现这个过程, 绝对不虚此读. 首先写好一个要添加Cocoap ...
- Android 录音器
Android自带的mediarecoder录音器不含pause暂停功能,解决方法:录制多个音频片段,最后合成一个文件. 参照 : http://blog.csdn.net/a601445984/ar ...
- redis 常用配置
参数说明 redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式 ...