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

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

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

    <函数定义>--><类型 复合语句>

    <类型>-->无返回类型|字符型|整形|浮点型

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

    <指针>-->’*’|’*’<指针>

    <直接声明符>--><标识符>|<直接声明符>’ [ ’ ’ ] ’ |<直接声明符>’[’<普通表达式>’ ] ’ |<标识符> ’ ( ’<参数表>’ ) ’|<标识符>’ ( ’   ’ ) ’|<直接声明符>’ , ’<标识符>

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

    <一般表达式>--><条件表达式>

    <参数表>--><参数声明>|<参数表>|’,’<参数声明>

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

    <声名表>--><声明>|<声明列表 声明>

    <声明>--><内声明符>|<内声明符表>’,’<内声明符>

    <内声明符>--><声明符>|<声明符>’=’<初始化>

    <初始化>--><赋值表达式>|’{’<初始列表>’}’|’{’<初始化列表>’,’ ’}’

    <初始化列表>--><初始化>|<初始化列表>|’,’<初始化>

    <语句列表>--><语句>|<语句列表>|<语句>

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

    <表达式语句>-->’;’|<表达式>’,’

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

    <条件语句>-->WHILE’(’<表达式>’)’<语句>|FOR’(’<表达式语句 表达式语句>’)’<语句>|

    FOR’(’<表达式语句>< 表达式语句>< 表达式>’)’<语句>

    <跳转语句>|CONTINUE|BREAK|RETURN|RETURN<表达式>’;’

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

    <赋值表达式>--><条件表达式>|<赋值算符><赋值表达式>

    <条件表达式>--><逻辑或表达式>|<逻辑或表达式>’?’<表达式>’;’<条件表达式>

    <逻辑或表达式>--><逻辑与表达式>|<逻辑或表达式>OR_OP<逻辑与表达式>

    <逻辑与表达式>:<或表达式>| <逻辑与表达式>AND_OP<或表达式>

    <或表达式>--><异或表达式>|<或表达式>’|’ <异或表达式>

    <异或表达式>:<与表达式>|<异或表达式>’^’<与表达式>

    <与表达式>:<相等表达式>|<与表达式>’&’ <相等表达式>

    <相等表达式>:<关系表达式>|<相等表达式>EQ_OP:<关系表达式>|<相等表达式>NE_OP:<关系表达式>

    <关系表达式>:<移位表达式>|<关系表达式>’<’<移位表达式>|<关系表达式>’>’<移位表达式>|<关系表达式LE_OP<移位表达式>|<关系表达式>GE_OP <移位表达式>

    <移位表达式>--><附加表达式>|<移位表达式>LEFT_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

    <存储类说明>-->TYPEDEF |EXTERN|STATIC|AUTO|REGISTER

    <结构或联合说明符>:<结构或联合标识符>’{‘<struct声明列表>’}’|<结构或联合>’{‘<struct<声明列表’>’}’|<结构或联合标识符>

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

    <struct声明列表>:<struct声明>|< struct声明列表>< struct声明>

    <struct声明>:<说明限定表>< struct声明列表>‘;‘

    <说明限定表>--><类型说明符><说明限定表>|<类型说明符>|<类型限定><说明限定表>|<类型限定>

    <结构说明符列表>--><结构说明符>|<结构说明符列表>’.’ <结构说明符>

    <结构说明符>--><声明符>|’:’<常量表达式>|<声明符>’:’ <常量表达式>

    <枚举说明>--><枚举>’{‘<枚举列表>’}’|<枚举标识符>’{‘<枚举列表>’}’|

    <枚举标识符>

    <枚举列表>--><枚举>|<枚举列表>’;’ <枚举>

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

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

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

    <参数类型列表>--><参数列表>|<参数列表>’.’<省略号>

    <参数列表>--><参数声明>|<参数列表>’;’ <参数声明>

    <类型名>--><说明限定表>|<说明限定表><抽象声明符>

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

    <指针直接抽象声明符>-->’(‘<抽象声明>’)’|’[‘’]’|’[‘<常数表达式>’]’|<直接抽象声明符>’[‘’]’|<直接抽象声明符>’[‘<常数表达式>’]’|’(‘’)’|’(‘<参数类型列表>’)’|<直接抽象声明符>’(‘’)’|<直接抽象声明符>’(‘<参数类型列表>’)’

    <标签语句>--><标识符>’;’<语句>|<案例><常数表达式>’;’<语句>|<默认>’;’<语句>

  • 相关阅读:
    JQuery的摸索之路(一)
    C#操作excel(NPOI篇)
    Mschart学习(MSchart介绍)
    JQuery的摸索之路(二比较)
    Mschart学习(开篇)
    Mschart学习(官方demo共享)
    SQL进阶提升(疑惑篇order by)学习sql server2005 step by step(十一)
    一步一步学习C#(二C#基础)
    NickLee的学习
    Linux 命令学习一
  • 原文地址:https://www.cnblogs.com/Rick00/p/4921747.html
Copyright © 2011-2022 走看看