[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