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

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

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

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

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

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

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

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

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

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

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

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

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

    <声明列表 >→<声明>|<’{’声明列表 声明’}’>

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

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

    <初始化>→<分配表达>|<’{’初始化列表’}’>|<’{’初始化列表’,’’}’>

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

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

    <声明>→<复合声明>|<表达声明>|<选择声明>|<循环声明>|<跳转声明>

    <表达声明>→<’;’>|<表达’;’>

    <选择声明>→<:if’(’表达’)’声明>|<:if’(’表达’)’声明 else 声明>

    <循环声明>→<while’(’表达’)’声明>|<for’(’表达声明 表达声明’)’声明>|<for’(’表达声明 表达声明 表达’)’声明>

    <跳转声明>→<continue’,’>|<break’,’>|<return’,’>|<return 表达’,’>

    <表达>→<:分配表达>|<表达’,’分配表达>

    <分配表达>→<条件表达>|<一元表达 分配运算符 分配表达>

    <条件表达>→<逻辑 or 表达>|<逻辑 or 表达’?’>

    <逻辑 or 表达>→<逻辑 and 表达>|<逻辑 or 表达 OR_OP逻辑 and 表达>

    <逻辑and 表达>→<:包容 or 表达>|<逻辑 and 表达 AND_OP包容 and 表达>

    <包容 or 表达>→<独有 or 表达>|<包容 and 表达 ‘|’独有 or 表达>

    <独有 or 表达>→<: and 表达>|<独有 or 表达 ‘^’ and 表达>

    <and表达>→<: 平等表达>|< and 表达 ‘&’ 平等表达>

    <平等表达>→<: 关系表达>|<平等表达 EQ_OP 关系表达>|<平等表达 NE_OP 关系表达>

    <关系表达>→<: 替换表达>|<关系表达 ‘<’ 替换表达>|<关系表达 ‘>’ 替换表达>|<关系表达 LE_OP 替换表达>|<关系表达 GE_OP 替换表达>

    <替换表达>→<: 添加表达>|<替换表达 LEFT_OP 添加表达>|<替换表达 RIGHT_OP 添加表达>

    <添加表达>→<: 乘法表达>|<添加表达 ‘+’ 乘法表达>|<添加表达 ‘-’ 乘法表达>

    <乘法表达>→<: 计算表达>|<乘法表达 ’*’ 计算表达>|<乘法表达 ’/’ 计算表达>|<乘法表达 ’%’ 计算表达>

    <计算表达>→<: 一元表达>|<’(’类型名字’)’一元表达>

    <一元表达>→<:后缀表达>|<INC_OP一元表达 >|<DEC_OP一元表达 >|<一元操作 计算表达 >|<SIZEOF 一元表达>|<SIZEOF’(’类型名字’)’ >

    <后缀表达>→<:主要表达>|<:主要表达’[’表达’]’>|<:主要表达’(’’)’>|<:主要表达’(’论点表达列表’)’>|<:主要表达’.’IDENTIFIER>|<:主要表达 PTR_OP IDENTIFER>|<:主要表达 INC_OP >|<:主要表达 DEC_OP >

    <主要表达>→< IDENTIFER >|< CONSTANT >|< STRING_LITERAL >|<’(’表达’)’>

    <论点表达>→< :赋值表达>|< 赋值表达列表’,’赋值表达 >

    <一元操作符>→< : ' & ' >|< ' * ' >|< ' + ' >|< ' - ' >|< ' ~ ' >|< ' ! ' >

    <assignment_operator>→< ' = ' >|< 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>

    <结构或联合说明符>→<:结构或联合IDENTIFIER’{’ 结构体声明列表’}’>|<结构或联合’{’ 结构体声明列表’}’>|<结构或联合IDENTIFIER>

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

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

    <结构体声明>→<说明符限定符列表  结构说明符>

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

    <结构体声明列表>→<结构体声明>|<结构体声明列表’,’ 结构体声明>

    <结构体声明>→<:声明>|<’:’常数表达式>|<声明’:’常数表达式>

    <enum说明符>→<ENUM’{’ 枚举器列表’}’ >|<’ ENUM IDENTIFIER’{’ 枚举器列表’}’>|<’ ENUM IDENTIFIER>

    <枚举器列表>→<枚举器>|<’ ENUM IDENTIFIER’{’ 枚举器列表’}’>|<’ 枚举器列表’,’ 枚举器>

    <枚举器>→<IDENTIFIER>|< IDENTIFIER’=’ 常数表达式>

    <类型限定符>→<CONST>|< VOLATILE >

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

    <参数类型列表>→<参数列表>|<参数列表 ‘,’ ELLIPSIS >

    <参数列表>→<:参数宣言>|<参数列表 ‘,’ 参数宣言>

    <类型名字>→<说明符限定符列表>|<说明符限定符列表  摘要说明符>

    <摘要说明符>→<指针>|<直接摘要说明符>|<指针 直接摘要说明符>

    <直接摘要说明符>→<’(’ 摘要说明符’)’>|<'[' ']' >|<'['常数表达式']' >|<直接摘要说明符'[' ']' >|<直接摘要说明符'['常数表达式']' >|<'(' ')' >|<'(' 参数类型列表 ')' >|<直接摘要说明符'(' ')' >|<直接摘要说明符'('参数表达式')' >

    <标记语句>→< IDENTIFIER ':' 声明>|< CASE 常熟表达式':' 声明 >|<DEFAULT ':' 声明 >

  • 相关阅读:
    BZOJ 2034 【2009国家集训队】 最大收益
    vijos P1780 【NOIP2012】 开车旅行
    BZOJ 2115 【WC2011】 Xor
    BZOJ 3631 【JLOI2014】 松鼠的新家
    BZOJ 4717 改装
    BZOJ 2957 楼房重建
    BZOJ 4034 【HAOI2015】 T2
    BZOJ 1834 【ZJOI2010】 network 网络扩容
    BZOJ 2440 【中山市选2011】 完全平方数
    BZOJ 2733 【HNOI2012】 永无乡
  • 原文地址:https://www.cnblogs.com/linjituan/p/5119121.html
Copyright © 2011-2022 走看看