<程序> → <外部声明> | <程序的外部声明>

<标识符类型> → <无类型> | <字符> | <整型> | <浮点型>

<标识符列表> : <标识符> | <标识符列表 ,标识符>

<常数表达式> → <条件表达式>

<复合语句> → <{ }> | <{ 语句列表 }> | <{ <声明列表> <语句列表> }>

<声明列表> → <声明> | <声明列表> <声明>

<语句列表> → <语句> | <语句列表> <语句>

<语句> | <复合语句> | <表达式语句> | <选择语句> | <循环语句> |<跳转语句>

<表达式语句> → <表达式;>

<选择语句> : < IF(表达式)语句> | < IF(表达式)语句 > < ELSE 语句>

<循环语句> → < WHILE(表达式)语句> | < FOR(表达式语句表达式语句)语句> | < FOR(表达式语句表达式语句表达式)语句>

<表达式> : <赋值表达式> | <表达式, 赋值表达式>

<赋值表达式> → <条件表达式> | <一元表达式> <赋值操作符> <赋值表达式>

<条件表达式> → <逻辑‘或’表达式> | <逻辑‘或’表达式?> <表达式:> <条件表达式>

<加法表达式> : <乘法表达式> | <加法表达式 + 乘法表达式> | <加法表达式 - 乘法表达式>

<乘法表达式> : <强制转换表达式> | <乘法表达式 * 强制转换表达式> | <乘法表达式 / 强制转换表达式> | <乘法表达式 % 强制转换表达式>

简化版c语言文法的更多相关文章

  1. C语言文法

    C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明   → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...

  2. 1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)

    阅读并理解提供给大家的C语言文法文件. 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图 ...

  3. 1029 C语言文法定义与C程序的推导过程

    1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,写出用上述文法产生这段C程序的推导过程. program → exte ...

  4. c语言文法简化版文法

    <源程序>→<外部声明>|<外部声明><函数体> <外部申明>→<头文件><函数声明>|其他声明 <函数体&g ...

  5. 我的mini_c语言文法设计

    //这个文件主要是用来描述当前源语言的词法结构和语法结构 //当前语言是c语言的一个子集,因此里面所有的描述大家都很熟悉 //注意,当前语言并不支持预处理,因为c预处理比较复杂,而且楼主能力低下,因此 ...

  6. 消除左递归c语言文法

    <程序> -〉 <外部声明> | <函数定义><外部声明> -〉<头文件> | <变量> | <结构体> <头 ...

  7. 简单的C语言文法

    <程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...

  8. 实验二 c语言文法

    <程序>-><声明>|<程序><函数> <函数>-><修饰符><标识符><形式参数>< ...

  9. 简化C语言文法

    程序 → 外部声明|程序 外部声明 外部声明 → 定义函数|定义 函数定义 → 类型标识符 声明部分语句 类型标识符 → 空类型|字符型|整型|浮点型 声明部分语句 → 指针 直接声明|直接声明 指针 ...

随机推荐

  1. Android 启动多个闹钟。

    Intent i=new Intent(TimeSetActivity.this,AlarmReceiver.class); PendingIntent pi = PendingIntent.getB ...

  2. oracle 删除用户时的坑

    ORACLE在使用 SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='dt_zntg_trade' 删除会话时,一定要注意dt_zntg_trade的 ...

  3. lower函数

    将大写字母变成小写 >>> a='AAABBBccc' >>> a.lower() 'aaabbbccc'

  4. MVC JS中非表单元素路由传值

    <span id="a" onclick="aaa(111)" style="cursor:pointer;">跳</sp ...

  5. Sqoop1.4.6配置和使用

    http://jingpin.jikexueyuan.com/article/39333.html http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide. ...

  6. nfs 配置

    服务端1.打印系统版本cat /etc/redhat-release2.检查并安装NFS服务rpm -aq nfs-utils portmap rpcbindyum grouplistyum grou ...

  7. AFNetworking的POST上传

    - (void)download { // 1.创建网络管理者 // AFHTTPSessionManager 基于NSURLSession AFHTTPSessionManager *manager ...

  8. Linux C++线程池

    .为什么需要线程池? 部分应用程序需要执行很多细小的任务,对于每个任务都创建一个线程来完成,任务完成后销毁线程,而这就会产生一个问题:当执行的任务所需要的时间T1小于等于创建线程时间T2和销毁线程时间 ...

  9. 《BI那点儿事—数据的艺术》目录索引

    原创·<BI那点儿事—数据的艺术>教程免费发布 各位园友,大家好,我是Bobby,在学习BI和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,本来只是内部学习使用,但为了方便 ...

  10. EasyUI-validatebox 自定义validType验证

    根据项目要求,对于一些信息的验证也越来越特殊,当你发现EasyUI-validatebox提供的常用的validType验证类型已经满足不了你时,你可以选择自己自定义新的validType来完成信息验 ...