简化C语言文法
?
?
程序?→?外部聲明|程序 外部聲明
外部聲明?→?定義函數(shù)|定義
函數(shù)定義?→?類型標(biāo)識(shí)符 聲明部分語句
類型標(biāo)識(shí)符?→?空類型|字符型|整型|浮點(diǎn)型
聲明部分語句?→?指針 直接聲明|直接聲明
指針?→?* |* 指針
直接聲明?→?標(biāo)識(shí)符 | 直接聲明[ ] | 直接聲明[常數(shù)表達(dá)式] | 標(biāo)識(shí)符(參數(shù)列表) | 標(biāo)識(shí)符() | 直接聲明?,標(biāo)識(shí)符列表
標(biāo)識(shí)符列表?→?標(biāo)識(shí)符 | 標(biāo)識(shí)符列表,標(biāo)識(shí)符
標(biāo)識(shí)符?→?下劃線 標(biāo)識(shí)符|字母 標(biāo)識(shí)符|數(shù)字|字母|下劃線
常數(shù)表達(dá)式?→?條件表達(dá)式
參數(shù)列表?→?參數(shù)聲明 | 參數(shù)列表 ,參數(shù)聲明
參數(shù)聲明?→?說明符聲明 標(biāo)識(shí)符
語句列表?→?語句 | 語句列表 語句
語句?→?復(fù)合語句 | 表達(dá)式語句 | 選擇語句 | 循環(huán)語句
復(fù)合語句?→?{ } | {?語句列表?} | { 聲明列表 語句列表 }
聲明列表?→?聲明 | 聲明列表 聲明
聲明?→?初始化聲明 | 初始化聲明列表?,初始化聲明
初始化聲明?→?聲明 | 聲明=初始化程序
初始化程序?→?表達(dá)式 | {初始化程序列表} | {初始化程序列表?, }
初始化程序列表?→?初始化程序 | 初始化程序列表?,?初始化程序
表達(dá)式語句??→?表達(dá)式;
表達(dá)式?→?賦值表達(dá)式 | 表達(dá)式,?賦值表達(dá)式
賦值表達(dá)式?→?條件表達(dá)式| 一元表達(dá)式 賦值操作符 賦值表達(dá)式
條件表達(dá)式?→?邏輯‘或’表達(dá)式 | 邏輯‘或’表達(dá)式 ? 表達(dá)式: 條件表達(dá)式
邏輯‘或’表達(dá)式?→?邏輯‘與’表達(dá)式 | 邏輯‘或’表達(dá)式 ‘或’運(yùn)算 邏輯‘與’表達(dá)式
邏輯‘與’表達(dá)式?→?邏輯‘或’表達(dá)式 | 邏輯‘與’表達(dá)式 ‘與’運(yùn)算 邏輯‘或’表達(dá)式
一元表達(dá)式?→?加一運(yùn)算 一元表達(dá)式 | 減一運(yùn)算 一元表達(dá)式|一元運(yùn)算符 強(qiáng)制轉(zhuǎn)換表達(dá)式
一元運(yùn)算符?→?& | * | + | - | !
強(qiáng)制轉(zhuǎn)換表達(dá)式?→?一元表達(dá)式 | (類型名稱)強(qiáng)制轉(zhuǎn)換表達(dá)式
賦值運(yùn)算符?→?= | 乘法賦值 | 除法賦值 | 求余賦值 | 加法賦值 | 減法賦值
基本表達(dá)式?→?標(biāo)識(shí)符 | 常量 | 字符串 | (表達(dá)式)
選擇語句??→?IF(表達(dá)式)語句 |? IF(表達(dá)式)語句? ?ELSE?語句
循環(huán)語句??→?WHILE(表達(dá)式)語句 |? FOR(表達(dá)式語句;表達(dá)式語句)語句 |? FOR(表達(dá)式語句;表達(dá)式語句;表達(dá)式)語句
加法表達(dá)式?→?乘法表達(dá)式 | 加法表達(dá)式 + 乘法表達(dá)式 | 加法表達(dá)式 - 乘法表達(dá)式
乘法表達(dá)式?→?強(qiáng)制轉(zhuǎn)換表達(dá)式 | 乘法表達(dá)式 * 強(qiáng)制轉(zhuǎn)換表達(dá)式 | 乘法表達(dá)式 / 強(qiáng)制轉(zhuǎn)換表達(dá)式 | 乘法表達(dá)式 % 強(qiáng)制轉(zhuǎn)換表達(dá)式
轉(zhuǎn)載于:https://www.cnblogs.com/168-hui/p/6009417.html
總結(jié)
- 上一篇: Android OkHttp完全解析 是
- 下一篇: 【洛谷P1966】火柴排队