[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gm2] latest CVS changes
From: |
Gaius Mulley |
Subject: |
[Gm2] latest CVS changes |
Date: |
Tue, 10 May 2005 20:39:13 +0100 |
Hi,
here are the latest ChangeLog entries for GM2. Basically it can now
compile nested variants, such as:
TYPE
this = RECORD
CASE tag: CARDINAL OF
1: foo: CARDINAL ;
CASE bar: BOOLEAN OF
TRUE : bt: INTEGER |
FALSE: bf: CARDINAL
END |
2: an: CARDINAL |
ELSE
END ;
final: CARDINAL ;
END ;
correctly. These improvements allow another ULM module to compile and
install during the gm2 build process. There is now a gm2-harness-0.4
and gm2 can build with gcc-3.3.5. FTP appears blocked by the firewall
at glam.ac.uk - I'll try and remove this asap..
* major changes which now allow GM2 to compile nested variant records
(such as found in gm2/ulm-lib-gm2/std/RTErrors.def)
* added runtime regression test in testsuite/types/run/pass
* gm2/Make-lang.in modified to include RTErrors.mod to be built with
the ulm libraries. Grammar files are built without the -l option to
pge.
* gm2/gccgm2.c new functions gccgm2_BuildOffset1
determinePenultimateField
which implement modifications to record/variant field calculation.
* gm2/gm2.texi contains gm2 internal documentation on how the front end
symbol table represents records, field and variant records.
* gm2/bnf/m2-2.bnf removed commented out code.
* gm2/examples/map/Makefile builds the utility semantic.
* gm2/gm2-compiler/M2Base.mod modifications to reflect change in
PutFieldRecord
* gm2/gm2-compiler/M2GCCDeclare.mod added debugging procedures
PrintVerbose
and PrintSymbol, which can be called interactively from gdb. Also
fixed
variant record declaration.
* gm2/gm2-compiler/M2GenGCC.mod fixed variant record field calculation.
* gm2/gm2-compiler/M2Quads.mod changed operands to OffsetOp.
* gm2/gm2-compiler/M2SubExp.mod changes to reflect OffsetOp change.
* gm2/gm2-compiler/P2SymBuild.mod changed to allow nested variant
records.
* gm2/gm2-compiler/SymbolTable.[def, mod] changes to variant record
representation. Fixed memory leak.
* gm2/gm2-compiler/gccgm2.def changed BuildOffset and added BuildOffset1
* gm2/ulm-lib-gm2/std/RTErrors.def changed parameter name to match
implementation module.
* gm2/ulm-lib-gm2/std/RTErrors.mod fixed pointer/integer constant type
clash.
If any mailing list members have had success porting gm2 to a platform
and have had to modify the sources in any form, please feel free to
post the diffs and I'll incorporate them.
Many thanks and enjoy,
Gaius
- [Gm2] latest CVS changes,
Gaius Mulley <=