gm2
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]