[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BUG




En utilisant le "type-checker" de TYPOL sur le texte suivant :

program cdg_suivante is
	use Cdg ;

	import gettree(string, path, _), write (_), sendtree(path, _)
	from prolog ;

	judgement() ;
	judgement |- Cdg ;
	judgement |- Cdg : Cdg, Cdg, Cdg ;

	|- Cdg_tree
	---
	() ;
		provided
			gettree("Cdg_typol_obj", subject, Cdg_tree) ;
		do
			write("c'est fini !") ;

	|- rel_op(EXP1, RELOP, EXP2) : EXP1, RELOP, EXP2	;

	|- CDG_L
	---
	|- if(CDG_L, ASS)	 		;

	|- CDG : e1, re, e2
	---
	|- cdg_list[CDG]			;
		do RAJOUTE(cdg_list[CDG], e1, re, e2 : cdg_list_new) &
		sendtree(subject, cdg_list_new) ;

	|- EXP : e1, re, e2
	---
	|- cdg(EXP, ASS1, STAT_L, ASS2) : e1, re, e2	;

	set RAJOUTE is

		judgement |- Cdg, Cdg, Cdg, Cdg : Cdg ;

		|- cdg_list[CDG], e1, re, e2 :
			cdg_list[cdg(rel_op(e2, re, e1), 
				rien(), STAT1, rien()).CDG] ;
--			cdg_list[CDG.cdg_list[cdg(rel_op(e2, re, e1), 
--				ASS11, STAT1, ASS12).nil]] ;

	end RAJOUTE ;

end cdg_suivante ;


j'obtiens le message suivant :
	Woups! There is a bug in the Typol type checker. Please report.
qui est du aux lignes :
		|- cdg_list[CDG], e1, re, e2 :
			cdg_list[cdg(rel_op(e2, re, e1), 
				rien(), STAT1, rien()).CDG] ;


Je n'ai plus le message si j'ecris :
		|- cdg_list[CDG], e1, re, e2 :
			cdg_list[CDG.cdg_list[cdg(rel_op(e2, re, e1), 
				ASS11, STAT1, ASS12).nil]] ;


Avez vous une solution a ce probleme ?

Merci

Bernard