Esempio n. 1
0
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);
*/
}
Esempio n. 2
0
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));


}