简化C语言文法
?
?
程序?→?外部聲明|程序 外部聲明
外部聲明?→?定義函數|定義
函數定義?→?類型標識符 聲明部分語句
類型標識符?→?空類型|字符型|整型|浮點型
聲明部分語句?→?指針 直接聲明|直接聲明
指針?→?* |* 指針
直接聲明?→?標識符 | 直接聲明[ ] | 直接聲明[常數表達式] | 標識符(參數列表) | 標識符() | 直接聲明?,標識符列表
標識符列表?→?標識符 | 標識符列表,標識符
標識符?→?下劃線 標識符|字母 標識符|數字|字母|下劃線
常數表達式?→?條件表達式
參數列表?→?參數聲明 | 參數列表 ,參數聲明
參數聲明?→?說明符聲明 標識符
語句列表?→?語句 | 語句列表 語句
語句?→?復合語句 | 表達式語句 | 選擇語句 | 循環語句
復合語句?→?{ } | {?語句列表?} | { 聲明列表 語句列表 }
聲明列表?→?聲明 | 聲明列表 聲明
聲明?→?初始化聲明 | 初始化聲明列表?,初始化聲明
初始化聲明?→?聲明 | 聲明=初始化程序
初始化程序?→?表達式 | {初始化程序列表} | {初始化程序列表?, }
初始化程序列表?→?初始化程序 | 初始化程序列表?,?初始化程序
表達式語句??→?表達式;
表達式?→?賦值表達式 | 表達式,?賦值表達式
賦值表達式?→?條件表達式| 一元表達式 賦值操作符 賦值表達式
條件表達式?→?邏輯‘或’表達式 | 邏輯‘或’表達式 ? 表達式: 條件表達式
邏輯‘或’表達式?→?邏輯‘與’表達式 | 邏輯‘或’表達式 ‘或’運算 邏輯‘與’表達式
邏輯‘與’表達式?→?邏輯‘或’表達式 | 邏輯‘與’表達式 ‘與’運算 邏輯‘或’表達式
一元表達式?→?加一運算 一元表達式 | 減一運算 一元表達式|一元運算符 強制轉換表達式
一元運算符?→?& | * | + | - | !
強制轉換表達式?→?一元表達式 | (類型名稱)強制轉換表達式
賦值運算符?→?= | 乘法賦值 | 除法賦值 | 求余賦值 | 加法賦值 | 減法賦值
基本表達式?→?標識符 | 常量 | 字符串 | (表達式)
選擇語句??→?IF(表達式)語句 |? IF(表達式)語句? ?ELSE?語句
循環語句??→?WHILE(表達式)語句 |? FOR(表達式語句;表達式語句)語句 |? FOR(表達式語句;表達式語句;表達式)語句
加法表達式?→?乘法表達式 | 加法表達式 + 乘法表達式 | 加法表達式 - 乘法表達式
乘法表達式?→?強制轉換表達式 | 乘法表達式 * 強制轉換表達式 | 乘法表達式 / 強制轉換表達式 | 乘法表達式 % 強制轉換表達式
轉載于:https://www.cnblogs.com/168-hui/p/6009417.html
總結
- 上一篇: Android OkHttp完全解析 是
- 下一篇: 【用jQuery来判断浏览器的类型】及【