zoukankan      html  css  js  c++  java
  • 简易C语言文法分析

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

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

    <函数定义> → <类型标识符> <声明部分语句>

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

    <声明> → <指针直接声明> | <直接声明>

    <直接声明> → <标识符> | <直接声明[ ]> | <直接声明[常量表达式]> | <标识符(参数列表)> | <标识符()> | <直接声明 , 标识符列表>

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

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

    <参数列表> → <参数声明> | <参数列表 ,参数声明>

    <参数声明> → <说明符声明><标识符>

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

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

    <声明> → <初始化声明> | <初始化声明列表 ,初始化声明>

    <初始化声明> → <声明> | <声明=初始化程序>

    <初始化程序> → <表达式> | <{初始化程序列表}> | <{初始化程序列表 , }>

    <初始化程序列表> → <初始化程序> | <初始化程序列表 , 初始化程序>

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

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

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

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

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

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

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

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

    <逻辑‘或’表达式> → <逻辑‘与’表达式> | <逻辑‘或’表达式> <‘或’运算> <逻辑‘与’表达式>

    <逻辑‘与’表达式> → <逻辑‘或’表达式> | <逻辑‘与’表达式> <‘与’运算> <逻辑‘或’表达式>

    <或运算表达式> → <异或表达式> | <或运算表达式‘|’ 异或表达式>

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

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

    <基本表达式> → <标识符> | <常量> | <字符串> | <(表达式)>

    <一元运算符> → <&> | <*> | <+> |<-> | <~> | <!>

    < 赋值运算符> → <=> | <乘法赋值> | <除法赋值> | <求余赋值> | <加法赋值> | <减法赋值> | <左赋值> | <右赋值> | <与赋值> | <异或赋值> | <或赋值>

  • 相关阅读:
    vue /deep/ ::v-deep >>> 深度选择器
    雪碧图优缺点
    自适应高度文本框 react contenteditable
    textarea 高度自适应
    UMI.js开发知识总结
    flex布局下img图片变形的解决方法
    umi model 注册
    HEVC标准介绍
    《推荐系统》阅读笔记
    互联网名词诙谐解释
  • 原文地址:https://www.cnblogs.com/Zhang-Shuheng/p/6008791.html
Copyright © 2011-2022 走看看