< source programs >->< external declarations > |< Program external declarations >
< external declarations >-> < function definitions >|< definitions >
< external declarations >->< header files >|< macro definitions >
< header file >-> < #include stdio.h>|< #include stdilb.h>|< #include <string>>|< #include Manth.h>
< macro definition >-> < data type >< variables >
< variables >-> < letters >|< Arrays >|< fixed Values >
< function definition >-> < function type >< functions name >< Declaration part (argument) >
< function type >-> < no type (void) >|< int (int) >|< character (char) >|< float (float) >
< function declaration section >-> < Direct declaration >|< Pointer Direct declaration >
< function pointer Direct declaration >-> <*>|< data type * pointer >
< function Direct declaration >-> < data type parameter name (row parameter) >|< no parameter >
< function content >->< Variable description >|< assignment statement >|< operations >|< Statement processing >
< variable description >-> < data type >< variable name >
< Assignment statements >->< variable names >=< letters >|< variable names >=< numbers >|< variable names >=< op-Expressions >
< operations >-> < arithmetic expressions >
< OP expression >-> < variable name >< operator >< variable name >|< number >< operator >< number >|< variable name >< operator >< Digital >
< operators >-><+>|<->|<*>|<\>|<%>
< statement processing >-> < judgment statement >|< Loop statement >|< conditional statement >|< sort expression >
Compilation principle Experiment 2----simplified version of C language grammar