void advanced_ls(t_env *env) { get_args_type(env); sort_args_type(env); /* check_files(env); // if (ft_strchr(FLAG_CHARS, 't')) // sort_args_time; // else // sort_args_ascii(env); // if (ft_strchr(FLAG_CHARS, 'r')) // sort_args_reverse; // check_lst(env); */ }
void searchTree(TreeNode* root, ConstTable* MainConstTable, TypeTable* MainTypeTable, VarTable* MainVarTable, ProcedureTable* MainProcedureTable) { enumlist = NULL; errorOccur = 0; current_procedure = (char*)malloc(100); memset(current_procedure, 0, 100); strcpy(current_procedure, "main"); TreeNode *head = root->child->sibling->child;//routine_heads TreeNode *const_type = getChild(2, head); makeNewConstTable(const_type, MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable); makeNewTypeTable(getChild(3, head), MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable); makeNewVarTable((TreeNode*)getChild(4,head), MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable); ProcedureTableNode* mainnode = makeNewProcedureTableNode(); mainnode->name = "main"; mainnode->returntype = NULL; mainnode->next = NULL; mainnode->paranum = mainnode->line_no = mainnode->size = 0; mainnode->paralist = NULL; int t = insertIntoProcedureTable(mainnode, MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable); if(t == -1) return; makeNewProcedureTable((TreeNode*)getChild(5,head), MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable); //if(getType("days", "main", MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable) != NULL) // printType(getType("days", "main", MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable)); /* printf("\nnum: %d\n", get_args_list_num("testfunc", MainProcedureTable)); */ printType(get_args_type(1, "testfunc", "main", MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable)); printType(get_return_type("testfunc", "main_testfunc", MainProcedureTable)); int size, address, totallevel, leveltofather; char* label = (char*)malloc(100); memset(label, 0, 100); getAddress("k", "main_testfunc", &size, &label, &address, &totallevel, &leveltofather, MainConstTable, MainVarTable, MainProcedureTable); printf("size:%d address:%d totallevel:%d leveltofather:%d label:%s\n", size, address, totallevel, leveltofather, label); free(label); printf("ifexists: %d", ifExists("dt.year", "main_testfunc", MainConstTable, MainTypeTable, MainVarTable, MainProcedureTable)); }