zoukankan      html  css  js  c++  java
  • c语言文法

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

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

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

    <类型说明符> →<VOID>|<CHAR>|<INT>|<FLOAT>

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

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

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

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

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

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

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

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

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

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

    <初始化声明符> →<声明符>|<声明符 '=' 初始值设定项>

    <初始值设定项> →<赋值表达式>|<' {' 初始值设定项列表 '}'>|<' {'初始值设定项列表',' '}'>

    <初始值设定项列表> →<初始值设定项>|<初始值设定项列表 ',' 初始值设定项>

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

    <语句> →|<复合语句>|<表达式语句>|<选择语句>|<迭代语句>|<跳转语句>

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

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

    <迭代语句> →<WHILE '(' 表达式')' 语句>|<FOR'(' 表达式语句表达式语句')' 语句>|<FOR'(' 表达式语句表达式语句表达式')' 语句>

    <跳转语句>|<继续 ';'>|<打破;><返回 ';'>|<返回表达式 ';'>

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

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

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

    <逻辑或表达式 >→<逻辑和表达>|<逻辑或逻辑 OR 运算表达式和表达式>

    <逻辑和表达>: <包容性或表达式>|<逻辑和具有包容性和 OP 表达式>

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

    <异或表达式>: <与表达式>|<异或表达式 ' ^' 和表达式>

    <和表达式>: <相等表达式>|<和表达式 '&' 相等表达式>

    <相等表达式>: <关系表达式>|<相等表达式情商 OP 关系表达式>|<相等表达式 NE OP 关系表达式>

    <关系表达式>: <转移表达式>|<关系表达式 ' <' 转移表达式>|<关系表达式 ' >' 转移表达式>|<关系表达式LE OP 转变表达式>|<关系表达式 GE OP 转变表达式>

    <转变表达式>: <加法表达式>|<转变表达式 LEFT OP 加法表达式>|<转变表达式 RIGHT OP 加法表达式>

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

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

    <强制转换表达式>: <一元表达式>|<'(' 键入名称')' 强制转换表达式>

    <一元表达式>: <后缀表达式>|<INC OP 一元表达式>|<DEC OP 一元表达式>|<一元运算符强制转换表达式>|<一元的 SIZEOF 表达式>|<SIZEOF '(' 类型名称')'>

    <后缀表达式> →: <主要表达式>|<后缀表达式 '[' 表达']'>|<后缀表达式 '(' ')'>|<后缀表达式 '(' 参数表达式列表')'>|<后缀表达式 '.'标识符>|<后缀表达式 PTR OP 标识符>|<后缀表达式 INC OP>|<后缀表达式 DEC OP>

    <主要表达式> →<标识符>|<恒定>|<字符串型>|<' (' 表达式 ')'>

    <参数表达式列表>: <赋值表达式>|<参数表达式列表 ',' 赋值表达式>

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

    <赋值运算符> → <'='>|<MUL 分配>|<DIV 分配>|<MOD 分配>|<ADD 分配>|<SUB 分配>|<LEFT 分配>|<RIGHT分配>|<AND 分配>|<XOR 分配>|<OR 分配>

    <存储类说明符> → <定义类型>|<外来的>|<静态>|<自动>

    <结构或联合的说明符>: <结构或联合标识符' {' 结构声明列表 '}'>|<结构或联合 ' {' 结构声明列表 '}'>|<结构或联合的标识符>

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

    <结构声明列表>: <结构声明>|<结构声明列表结构声明>

    <结构声明>: <说明符限定符列表结构声明符列表 ';'>

    <说明符限定符列表> →<类型说明符说明符限定符列表中>|<类型说明符>|<类型限定符说明符限定符列表中>|<类型限定符>

    <结构声明符列表 >→<结构声明符>|<结构声明符列表 ',' 结构声明符>

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

    <enum 说明符 >→<枚举 ' {' 枚举数列表 '}'>|<ENUM 标识符 {' 枚举数列表 '}'|<ENUM 标识符><枚举数列表 >→<枚举数>|<枚举数列表 ',' 枚举器>

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

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

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

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

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

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

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

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

    <标记的语句 >→<标识符 ':' 声明>|<case达式 ':' 声明>|<默认 ':' 声明>

  • 相关阅读:
    更改ubuntu的官方镜像源
    python中的decorator的作用
    thunderbird 设置 邮件回复时内容在上方显示
    Sapnco3 RfcTable Structure
    DbEntry 访问Access2010数据库
    DbEntry 默认 主键ID为long
    DbEntry 简单实现
    nginx学习时使用EditPuls编辑conf.xml
    java的集合类面试题
    tomcat组成介绍和调优方案
  • 原文地址:https://www.cnblogs.com/mafu0420/p/4921253.html
Copyright © 2011-2022 走看看