c/c++语言开发共享c语言的文法产生式代码实例

的文法产生式代码实例 programà external_declaration | program external_declaration e

的文法产生式代码实例

  programà        external_declaration       | program external_declaration     external_declarationà       function_definition       | declaration        function_definitionà type_specifier declarator compound_statement     type_specifierà       void       | char       | int       | float     declarator       pointer direct_declarator       | direct_declarator     pointerà       '*'       | '*' pointer     direct_declarator       identifier    |direct_declarator’[‘ ‘]’       |direct_declarator ’[’ constant_expression ’]’       | identifier '(' parameter_list ')'  | identifier '(' ')'       |direct_declarator  ‘,’  identifier_list     identifier_list       : identifier       | identifier_list ',' identifier     constant_expressionà       conditional_expression     parameter_listà        parameter_declaration       | parameter_list ',' parameter_declaration    parameter_declaration à       declaration_specifiers  identifier     compound_statementà        '{' '}'       | '{' statement_list '}'       | '{' declaration_list statement_list '}'     declaration_listà        declaration       | declaration_list declaration     declarationà        init_declarator       | init_declarator_list ',' init_declarator     init_declaratorà        declarator       | declarator '=' initializer     initializerà        assignment_expression       | '{' initializer_list '}'       | '{' initializer_list ',' '}'     initializer_listà        initializer       | initializer_list ',' initializer     statement_listà       statement       | statement_list statement     statementà       | compound_statement       | expression_statement       | selection_statement       | iteration_statement       | jump_statement     expression_statementà       ';'       | expression ';'     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 expression ';'     expression       : assignment_expression       | expression ',' assignment_expression     assignment_expressionà       conditional_expression       | unary_expression assignment_operator assignment_expression     conditional_expressionà        logical_or_expression       | logical_or_expression '?' expression ':' conditional_expression     logical_or_expressionà       logical_and_expression       | logical_or_expression or_op logical_and_expression     logical_and_expression       : inclusive_or_expression       | logical_and_expression and_op inclusive_or_expression     inclusive_or_expressionà       exclusive_or_expression       | inclusive_or_expression '|' exclusive_or_expression     exclusive_or_expression       : and_expression       | exclusive_or_expression '^' and_expression     and_expression       : equality_expression       | and_expression '&' equality_expression     equality_expression       : relational_expression       | equality_expression eq_op relational_expression       | equality_expression ne_op relational_expression     relational_expression       : shift_expression       | relational_expression '<' shift_expression       | relational_expression '>' shift_expression       | relational_expression le_op shift_expression       | relational_expression ge_op shift_expression     shift_expression       : additive_expression       | shift_expression left_op additive_expression       | shift_expression right_op additive_expression     additive_expression       : multiplicative_expression       | additive_expression '+' multiplicative_expression       | additive_expression '-' multiplicative_expression     multiplicative_expression       : cast_expression       | multiplicative_expression '*' cast_expression       | multiplicative_expression '/' cast_expression       | multiplicative_expression '%' cast_expression     cast_expression       : unary_expression       | '(' type_name ')' cast_expression     unary_expression       : postfix_expression       | inc_op unary_expression       | dec_op unary_expression       | unary_operator cast_expression       | sizeof unary_expression       | sizeof '(' type_name ')'     postfix_expressionà       : primary_expression       | postfix_expression '[' expression ']'       | postfix_expression '(' ')'       | postfix_expression '(' argument_expression_list ')'       | postfix_expression '.' identifier       | postfix_expression ptr_op identifier       | postfix_expression inc_op       | postfix_expression dec_op     primary_expressionà       identifier       | constant       | string_literal       | '(' expression ')'     argument_expression_list       : assignment_expression       | argument_expression_list ',' assignment_expression     unary_operator       : '&'       | '*'       | '+'       | '-'       | '~'       | '!'     assignment_operatorà        '='       | mul_assign       | div_assign       | mod_assign       | add_assign       | sub_assign       | left_assign       | right_assign       | and_assign       | xor_assign       | or_assign     storage_class_specifierà        typedef       | extern       | static       | auto       | register     struct_or_union_specifier       : struct_or_union identifier '{' struct_declaration_list '}'       | struct_or_union '{' struct_declaration_list '}'       | struct_or_union identifier     struct_or_union       : struct       | union     struct_declaration_list       : struct_declaration       | struct_declaration_list struct_declaration     struct_declaration       : specifier_qualifier_list struct_declarator_list ';'  specifier_qualifier_listà        type_specifier specifier_qualifier_list       | type_specifier       | type_qualifier specifier_qualifier_list       | type_qualifier        struct_declarator_listà        struct_declarator       | struct_declarator_list ',' struct_declarator        struct_declaratorà       : declarator       | ':' constant_expression       | declarator ':' constant_expression        enum_specifierà        enum '{' enumerator_list '}'       | enum identifier '{' enumerator_list '}'       | enum identifier        enumerator_listà        enumerator       | enumerator_list ',' enumerator        enumeratorà        identifier       | identifier '=' constant_expression        type_qualifierà        const       | volatile        type_qualifier_listà        type_qualifier       | type_qualifier_list type_qualifier        parameter_type_listà        parameter_list       | parameter_list ',' ellipsis        parameter_listà       : parameter_declaration       | parameter_list ',' parameter_declaration        type_nameà        specifier_qualifier_list       | specifier_qualifier_list abstract_declarator        abstract_declaratorà        pointer       | direct_abstract_declarator       | pointer direct_abstract_declarator        direct_abstract_declaratorà        '(' abstract_declarator ')'       | '[' ']'       | '[' constant_expression ']'       | direct_abstract_declarator '[' ']'       | direct_abstract_declarator '[' constant_expression ']'       | '(' ')'       | '(' parameter_type_list ')'       | direct_abstract_declarator '(' ')'       | direct_abstract_declarator '(' parameter_type_list ')'        labeled_statementà        identifier ':' statement       | case constant_expression ':' statement       | default ':' statement

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/608025.html

(0)
上一篇 2021年5月14日
下一篇 2021年5月15日

精彩推荐