< programs >->< declarations list >|< programs >< functions >
< declarations list >->< declarations >|< declarations List >< declarations >
< declarations >-> #include < identifiers. H >
< functions >->< modifiers >< identifiers >< formal parameters >< Compound statements >
< modifier >->void | int |char |float|double
< identifiers >-> <D>|< identifiers ><D>|< identifiers ><N>
<d>->a|b|...| Z
<n>->0|1|2|...| 9
< formal parameters >->< data types >< identifiers >
< data type >->int|float|double|char
< compound statement >->< statement list >| {}
< statement list >->< Statement >|< statement list >< statements >
< statements >->< Conditional statements >|< Assignment Statements >
< conditional statements >-><S1>|<S2>
<S1>->if<b>< conditional Statements > Else < conditional statements >
<S2>->IF <b>< Conditional Statements >|< compound statements >
<b>->< Logical Expressions >
< logical Expressions >->< identifiers >|<N>|< logical operators >|< identifiers >|<N>
< logical operators >-> >|=|>=|<=|<|!
< Assignment statements >->< identifiers >=< expressions >
< expressions >-> Expressions +t| Expressions-t| T
T->f*f| T/f| F
f-> (expression) |i
Expression---expression + T | Expression –t | T
T-f*f| T/f| F
f-> (expression) |i
Experimental two-Program grammar