Esempio n. 1
0
void Tr_printResult(){
    F_fragList frags = Tr_getResult();
    int cnt = 1;	
	for(; frags!=NULL; frags=frags->tail, cnt++){
		if(frags->head!=NULL){
			printf("Frag %d:\n", cnt);fflush(stdout);
			F_printFrag(frags->head);
		}
	}
}
Esempio n. 2
0
File: semant.c Progetto: 0XCC1/tiger
F_fragList SEM_transProg(A_exp exp){
	struct expty et;

	S_table t = E_base_tenv();
	S_table v = E_base_venv();
	et = transExp(Tr_outermost(),NULL,v, t, exp);
	printf("@this expr return:\n"); /* check the return result (use Ty_ty->kind stand) */
	F_fragList resl = Tr_getResult();
	return resl;
}
Esempio n. 3
0
F_fragList SEM_transProg(A_exp exp){
	struct expty et;
	S_table t = E_base_tenv();
	S_table v = E_base_venv();
	//puts("@before trans:");
	et = transExp(Tr_outermost(), NULL, v, t, exp);
	//puts("@end trans, begin pr-main:");
	//if(!anyErrors) print(et.exp); else printf("@error cant pr");
	//puts("\n@end pr-main, begin ref:");
	//printf("this exp return: %d\n", et.ty->kind); 
	//puts("@end ref, begin pr-frag");
	//puts("@@@@@@@@@@@@@@@@@@@@@@@");
	F_fragList resl = Tr_getResult();
	//print_frag(resl);
	//puts("\n@end pr-falg");
	return resl;
}