[PPL-devel] ppl/interfaces ppl_interface_generator_common. ...

Patricia Hill hill at cs.unipr.it
Mon Jun 26 09:20:42 CEST 2006


CVSROOT:	/cvs/ppl
Module name:	ppl
Branch: 	interfaces
Changes by:	hill at cs.unipr.it	2006-06-26 09:20:41

Modified files:
	interfaces     : ppl_interface_generator_common.m4 
	                 ppl_interface_generator_common_dat.m4 
	interfaces/Prolog: ppl_interface_generator_prolog_dat.m4 
	                   ppl_interface_generator_prolog_icc_code.m4 

Log message:
	Improved the processing of the replacement lists for a pattern.
	
	Added 2 new application independent helper macros:
	- m4_nargs (definition taken from m4 documentation)
	- m4_arg (finds the n+1'st argument in a list of arguments -
	where n is the 1st argument)
	
	The alternative replacement is now also defined via an alternative list
	of replacements (the number and order must match the usual list of
	replacements for the given class). This change was triggered by the
	wish to have a "friend" pattern (see below).
	
	Introduced a new pattern "friend" and use in in the Prolog interface
	to use instead of the 2nd "class" in
	ppl_new_ at CLASS@_from_ at INTOPOLOGY@@CLASS@
	ie.,
	ppl_new_ at CLASS@_from_ at INTOPOLOGY@@FRIEND at .
	That is, a friend is a class that can be used to construct an element
	in the current class. Every class is declared to be a friend of itself.
	The intention is to add to more "friend"s for each class so
	that, for instance, Polyhedron will be a friend of BD_Shape.
	Note that the friend pattern is only used in the Prolog interface at
	the moment.

Patches:
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/interfaces/ppl_interface_generator_common.m4.diff?cvsroot=ppl&only_with_tag=interfaces&r1=1.1.2.39&r2=1.1.2.40
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/interfaces/ppl_interface_generator_common_dat.m4.diff?cvsroot=ppl&only_with_tag=interfaces&r1=1.1.2.18&r2=1.1.2.19
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/interfaces/Prolog/ppl_interface_generator_prolog_dat.m4.diff?cvsroot=ppl&only_with_tag=interfaces&r1=1.1.2.25&r2=1.1.2.26
http://www.cs.unipr.it/cgi-bin/cvsweb.cgi/ppl/interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4.diff?cvsroot=ppl&only_with_tag=interfaces&r1=1.1.2.17&r2=1.1.2.18




More information about the PPL-devel mailing list