简易文法

<program>

external_declaration

| program external_declaration

<external_declaration>       //外部声明

function_definition

| declaration

<function_definition>       //函数

type_specifier  declarator    //说明符   

compound_statement  //混合声明

<declaration>    //声明

Symbol //符号  identifier ‘<’ identifier ‘>’   declaration

|type_specifier   variate ‘;’  declaration

|identifier ‘{’ body ‘}’

<body>   //函数主体

 type_specifier  variate ‘;’

|initializer  //初始化

<initializer>     //初始化

variate Initializer

|Symbol Initializer

<type_specifier>     //类型

Void

|char

|int

|float

|double

<identifier>      //标识符 头文件

Include

| define

|stdio.h

|math.h

|stdlib.h

|time.h

|string.h

|main ‘(‘ ‘)’ 

<statement>       //声明、陈述

udge_statement

|jump_statement

|iteration_statement

|selection_statement

<Judge_statement>     //判断

selection_statement

: if '(' expression ')' statement

|if'(' expression ')' statement ELSE statement

<iteration_statement>    //循环

 while '(' expression ')' statement

| for'(' expression_statement expression_statement ')' statement

| for '(' expression_statement expression_statement expression ')' statement

<jump_statement>      //跳转符

Continue ’;’

|break ’; ’

|return’;’

|return ‘(’   ’)’ ’;’

<Symbol >         //符号

#

|+

|=

|-

|

|

<bracket>     //括号  

(

|)

|{

|}

<Pointer >    //指针

'*'

| '*' variate  //变量

<variate >   //变量

a  variate

|b  variate

|c  variate

|.....

|z  variate 

原文地址:https://www.cnblogs.com/Lorz/p/6005684.html