[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Sun Mar 17 08:01:04 CET 2013


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	13/03/17 08:01:04

Modified files:
	cm3/m3-sys/m3back/src/: M3C.m3 

Log message:
	rework type declaration
	Types are objects with methods:
	CanBeDefined()
	Define()
	ForwardDeclare()
	
	all type declarations are defered until CanBeDefined()
	which they define in type-specific ways
	
	All types are put in a pending queue and removed one
	at a time, if they can be defined, they are, else they
	are put at the end of the queue.
	Records are forward declared..
	This doesn't quite hold together.
	I need to be able to declare pointers to structs after they
	are forward declared but before they are defined. There should
	be another state to enable that.
	But the current changes are a very good step forward.
	
	at this point we have started to fill in actual
	record/struct declarations, and fixed array declarations
	
	I still have to fill in more e.g. packed and opaque
	and open arrays and indirect.
	
	also change the linear search/replace of reserved words
	to be a table lookup
	
	also replace field names so e.g. "new" doesn't cause problems (it occurs)




More information about the M3commit mailing list