关于c语言的文法分析问题

<程序>  ->   <声明> | <程序> <函数>

<声明>  ->   #include<stdio.h>|#include<string.h>|............

<函数>  ->   <修饰符> <标识符> <形参> <复合语句>

<修饰符>->   void | char | int | double

<标识符>->   <D> |<标识符><D>| <标识符> <N>

<D>     ->   A | B | C | D | ….. | Z

<N>     ->   1|2|3|4|…….|9

<形参>  ->   <数据类型> <标识符>

<数据类型>->  int | float | double | char

<复合语句>->  <语句>|<复合语句> <语句>

<语句>  ->   <条件语句>|<赋值语句>

<条件语句> -> <s1>|<s2>

<s1>    ->   if <b> <条件语句> else <条件语句>

<s2>    ->   if <b> <条件语句> | <复合语句>

<b>     ->   <逻辑表达式>

<逻辑表达式> -> <标识符> |<N> | <逻辑运算符> | <标识符> | <N>

<逻辑运算符> ->  >|<|=|>=|<=|!

<赋值语句> -> <标识符> = <表达式>

<表达式> -> 表达式 + T | 表达式 – T | T

T      ->   F*F | T/F | F

F      ->   <表达式>| i

posted @ 2016-10-28 17:09  166黄仲浩  阅读(231)  评论(2编辑  收藏  举报