• 文法分析


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

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

    <函数定义>→<类型说明><声明符><复合语句>

    <类型说明>→<无返回类型>|<字符型>|<整型>|<浮点型>

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

    <指针>→<*>|<*><指针>

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

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

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

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

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

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

    <声明表>→<声明符>|<声明符><声明表>

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

    <初始化声明>→<声明符>|<声明符>=<初始化>

    <初始化>→<赋值表达式>|{<初始化表>}|{<初始化表>,}

    <初始化表>→<初始化>|<初始化表>,<初始化>

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

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

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

    <选择语句>→if(<表达式>)<语句>|if(<表达式>)<语句>else<语句>

    <循环语句>→while(<表达式>)|for(<表达式语句><表达式语句>)<语句>|for(<表达式语句><表达式语句><表达式>)<语句>

    <跳转语句>→|continue;|break;|return;|return <表达式>;

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

    <赋值表达式>→<条件表达式>|<一元表达式><赋值运算符><赋值表达式>

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

    <逻辑或表达式>→<逻辑与表达式>|<逻辑或表达式>or-op<逻辑与表达式>

    <逻辑与表达式>→<包容性或表达式>|<逻辑与表达式>and-op<包容性或表达式>

    <包容性或表达式>→<异或表达式>|<包容性或表达式>|<异或表达式>

    <异或表达式>→<与表达式>|<异或表达式>^<与表达式>

    <与表达式>→<等值表达式>|<与表达式>&<等值表达式>

    <等值表达式>→<关系表达式>|<等值表达式>eq-op<关系表达式>|<等值表达式>ne-op<关系表达式>

    <关系表达式>→<移动表达式>|<关系表达式><<移动表达式>|<关系表达式>><移动表达式>|<关系表达式>le-op<移动表达式>|<关系表达式>ge-op<移动表达式>

    <移动表达式>→<运算表达式>|<移动表达式>lert-op<运算表达式>|<移动表达式>right-op<运算表达式>

    <运算表达式>→<乘除表达式>|<运算表达式>+<乘除表达式>|<运算表达式>-<乘除表达式>

    <乘除表达式>→<转换表达式>|<乘除表达式>*<转换表达式>|<乘除表达式>/<转换表达式>

    |<乘除表达式>%<转换表达式>

    <转换表达式>→<一元表达式>|(<类型名称>)<转换表达式>

    <一元表达式>→<后缀表达式>|inc-op <一元表达式>|dec-op <一元表达式>|<一元表达式><转换表达式>|sizeof<一元表达式>|sizeof(<类型名称>)

    <后缀表达式>→<主要表达式>|<后缀表达式>[<表达式>]|<后缀表达式>( )|<后缀表达式>(<参数表达式表> )|<后缀表达式>.<标识符>|<后缀表达式>ptr-op<标识符>|<后缀表达式>inc-op|<后缀表达式>dec-op

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

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

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

    <赋值表达式>→=| MUL_ASSIGN| DIV_ASSIGN| MOD_ASSIGN| ADD_ASSIGN| SUB_ASSIGN| LEFT_ASSIGN| RIGHT_ASSIGN| AND_ASSIGN| XOR_ASSIGN| OR_ASSIGN

    <存储类说明>→<声明类型>|<外部变量声明>|<静态存储>|<自动存储>|<寄存器变量>

    <结构或联合说明>→<结构或联合><标识符>{<结构声明表>}|<结构或联合>{<结构声明表>}|<结构或联合><标识符>

    <结构或联合>→<结构>|<联合>

    <结构声明表>→<结构声明>|<结构声明表><结构声明>

    <结构声明>→<结构声明表>

    <说明限定表>→<类型说明><说明限定表>|<类型说明>|<类型限定><说明限定表>|<类型限定>

    <结构声明表>→<结构声明>|<结构声明表>,<结构声明>

    <结构声明>→:<声明符>|:<常量表达式>|<声明符>:<常量表达式>

    <枚举说明>→<枚举>{<枚举表>}|<枚举><标识符>{<枚举表>}|<枚举><标识符>

    <枚举表>→<枚举>|<枚举表>,<枚举>

    <枚举>→<标识符>|<标识符>=<常量表达式>

    <类型限定>→<常量>|<变量>

    <类型限定表>→<类型限定>|<类型限定表><类型限定>

    <参数类型表>→<参数表>|<参数表>,<省略号>

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

    <类型名称>→<说明限定表>|<说明限定表><抽象声明>

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

    <直接抽象声明>→(<抽象声明>)|[  ]|[ <常量表达式>]|<直接抽象声明>[ ] |<直接抽象声明>[<常量表达式> ]|( )|(<参数类型表>)|<直接抽象声明>( )|<直接抽象声明>(<参数类型表> )

    <标记语句>→<标识符>:<语句> |case<常量表达式>:<语句>|default:<语句>

  • 相关阅读:
    展示
    发布说明
    团队作业Week14
    Scrum Meeting NO.10
    Scrum Meeting NO.9
    Scrum Meeting NO.8
    Scrum Meeting NO.7
    Scrum Meeting NO.6
    ES6/ES2015核心内容
    用React & Webpack构建前端新闻网页
  • 原文地址:https://www.cnblogs.com/hui1005039632/p/4929226.html
Copyright © 2020-2023  润新知