zoukankan      html  css  js  c++  java
  • 简化版C语言文法

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

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

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

    函数类型-> void|char|int|float

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

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

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

    标识符序列-> <标识符>|<标识符序列><,><标识符>

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

    参数序列-> <参数声明>|<参数声明><,><参数声明>

    参数声明-> <声明说明符><声明符>

    复合语句-> <{}>|<{<陈述序列>}>|<{<声明序列><陈述序列>}>

    声明序列-> <声明符>|<声明序列><声明符>

    声明符-> <初始化说明符>|<初始化说明符><,><初始化说明符>

    初始化说明符-> <说明符>|<说明符><=><初始化程序>

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

    初始化序列-> <初始化程序>|<初始化序列><,><初始化>

    陈述序列-> <陈述语句>|<陈述序列><陈述语句>

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

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

    选择语句-> IF(<表达式>)<陈述语句>|IF(<表达式>)<陈述语句>ELSE<陈述语句>

    循环语句->WHILE(<表达式>)<陈述语句>|FOR(<表达式语句><表达式语句>)<陈述语句>|FOR(<表达式语句><表达式语句><陈述语句>)<陈述语句>

    转移语句->CONTINUE;| BREAK; | RETURN; | RETURN <表达式>;

    表达式-><任务表达式>|<表达式>;<任务表达式>

    任务表达式-><条件表达式>|<一元运算符><赋值运算符><任务表达式>

    条件表达式-><OR表达式>|<OR表达式>?<表达式>:<条件表达式>

    OR表达式-><AND表达式>|<OR表达式>OR_OP<AND表达式>

    AND表达式-><包含OR表达式>|<AND表达式>AND_OP<包含OR表达式>

    包含OR表达式-><单独OR表达式>|<包含OR表达式>'|'<单独OR表达式>

    单独OR表达式-><AND表达式>|<单独OR表达式>'^'<AND 表达式>

    AND 表达式-><赋值表达式>|<AND表达式>'&'<赋值表达式>

    赋值表达式-><关系式>|<赋值表达式>EQ_OP<关系式>|<赋值表达式>NE_OP<关系式>

    关系式-><位移表达式>|<关系式>'<'<位移表达式>|<关系式>'>'<位移表达式>|

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

    位移表达式-><相加表达式>|<位移表达式>LEFT_OP<相加表达式>|

          <位移表达式>RIGHT_OP<相加表达式>

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

    乘法表达式-><计算表达式>|<乘法表达式>'*'<计算表达式>|

          <乘法表达式>'/'<计算表达式>|<乘法表达式>'%'<计算表达式>

     

  • 相关阅读:
    PPP与资产证券化
    每日一题_190918
    每日一题_190917
    每日一题_190916
    每日一题_190915
    每日一题_190914
    每日一题_190913
    每日一题_190912
    每日一题_190911
    每日一题_190910
  • 原文地址:https://www.cnblogs.com/129lai/p/6008656.html
Copyright © 2011-2022 走看看