Advertisement
pedromsg

Untitled

Mar 29th, 2019
783
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. uncDeclaration:
  2. 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);}}
  3. 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);}}
  4. 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)}}
  5. FUNC ID LPAR RPAR FuncBody {if(erros == 0 && flag == -1){$$ = create_node("FuncDecl", NULL); new_node = create_node("Id", $2); add_child($$,new_node);}}
  6. ;
  7.  
  8.  
  9. Parameters:
  10. 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;}}
  11. ;
  12.  
  13. ParametersList:
  14. ParametersList COMMA ID Type {if(erros == 0 && flag == -1){$$ = create_node("Id", $3); add_brother($$, $4);}}
  15. | {if(erros == 0 && flag == -1){$$ = NULL;}}
  16. ;
  17.  
  18. FuncBody:
  19. LBRACE VarsAndStatements RBRACE {if(erros == 0 && flag == -1){if ($2 != NULL) { new_node = create_node("FuncBody", ""); new_node->child = $2; $$ = new_node;}}}
  20. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement