Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uncDeclaration:
- FUNC ID LPAR Parameters RPAR Type FuncBody {if(erros == 0 && flag == -1){$$ = create_node("FuncDecl", NULL); new_node = create_node("Id", $2); add_child($$,new_node); add_brother(new_node,$4);}}
- FUNC ID LPAR RPAR Type FuncBody {if(erros == 0 && flag == -1){$$ = create_node("FuncDecl", NULL); new_node = create_node("Id", $2); add_child($$,new_node);}}
- FUNC ID LPAR Parameters RPAR FuncBody {if(erros == 0 && flag == -1){$$ = create_node("FuncDecl", NULL); new_node = create_node("Id", $2); add_child($$,new_node); add_brother(new_node,$4)}}
- FUNC ID LPAR RPAR FuncBody {if(erros == 0 && flag == -1){$$ = create_node("FuncDecl", NULL); new_node = create_node("Id", $2); add_child($$,new_node);}}
- ;
- Parameters:
- ID Type ParametersList {if(erros == 0 && flag == -1){new_node = create_node("Id", $1); tmp = create_node("ParamList", ""); tmp->child = $3; add_brother(new_node, tmp); $$ = new_node;}}
- ;
- ParametersList:
- ParametersList COMMA ID Type {if(erros == 0 && flag == -1){$$ = create_node("Id", $3); add_brother($$, $4);}}
- | {if(erros == 0 && flag == -1){$$ = NULL;}}
- ;
- FuncBody:
- LBRACE VarsAndStatements RBRACE {if(erros == 0 && flag == -1){if ($2 != NULL) { new_node = create_node("FuncBody", ""); new_node->child = $2; $$ = new_node;}}}
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement