gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] ISO FINALLY now implemented


From: Gaius Mulley
Subject: [Gm2] ISO FINALLY now implemented
Date: 13 Jun 2008 01:44:50 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Hi,

below are the latest changelog entries, with these fixes and additions
the examples in gm2/examples/swig work.  Specifically it now allows
users to create shared libraries given an implementation module.  The
examples/swig/strio will now flush the buffers during the FINALLY
statement sequence.  Thus users should be able to implement Python
modules using GNU Modula-2, so long as the top level definition module
uses base types.

regards,
Gaius


        * examples/swig/tiny:  new examples showing the
          behaviour of FINALLY within a shared library.
        * gm2/gm2/gccgm2.c:  modify gccgm2_BuildCallInnerInit
          to gccgm2_BuildCallInner.
        * gm2/gm2/bnf/gm2l.bnf:  modify grammer to
          understand the keyword FINALLY.
        * gm2/gm2/bnf/gm2m.bnf:  modify grammer to
          understand the keyword FINALLY.
        * gm2/gm2/bnf/m2-3.bnf:  modify grammer to
          support FINALLY.
        * gm2/gm2/examples/swig/strio/teststrio.py:
          fix bug when calling WriteLn
        * gm2/gm2/gm2-compiler/M2AsmUtil.def:  export
          GetModuleFinallyName.
        * gm2/gm2/gm2-compiler/M2AsmUtil.mod:  implement
          GetModuleFinallyName.
        * gm2/gm2/gm2-compiler/M2GCCDeclare.mod:  declare
          finally function for each module.
        * gm2/gm2/gm2-compiler/M2GenGCC.mod:  CodeFinallyStart,
          CodeFinallyEnd new functions.
        * gm2/gm2/gm2-compiler/M2Optimize.mod:  make optimizer
          understand new quadruples.
        * gm2/gm2/gm2-compiler/M2Quads.def:  added
          InitStartOp, InitEndOp, FinallyStartOp and FinallyEndOp.
          Export StartBuildFinally, EndBuildFinally.
        * gm2/gm2/gm2-compiler/M2Quads.mod:  introduced
          InitStartOp, InitEndOp, FinallyStartOp and FinallyEndOp.
          Modified StartBuildInit, EndBuildInit to use InitStartOp
          and InitEndOp.  StartBuildFinally, EndBuildFinally new
          procedures.  Modified AsmStartementsInBlock.
        * gm2/gm2/gm2-compiler/M2Scope.mod:  modified to search
          for blocks using InitStartOp, InitEndOp, FinallyStartOp
          and FinallyEndOp as markers.
        * gm2/gm2/gm2-compiler/M2SubExp.mod:  modified EndOp, StartOp
          to InitStartOp, InitEndOp, FinallyStartOp and FinallyEndOp.
        * gm2/gm2/gm2-compiler/SymbolTable.def:  exported
          PutModuleFinallyStartQuad, GetModuleFinallyStartQuad.
          Modified GetModuleQuads to return finally range.
        * gm2/gm2/gm2-compiler/SymbolTable.mod:  added
          StartFinishQuad,
          EndFinishQuad and FinallyFunction to module fields.
        * gm2/gm2/gm2-compiler/gccgm2.def:  modified
          BuildCallInnerInit
          to BuildCallInner.
        * gm2/gm2/gm2-compiler/gm2lgen.mod:  uncommented the
          calls to the final function in each module.
        * gm2/gm2/gm2-libs/FIO.mod:  uncommented the FINALLY
          clause.
        * gm2/gm2/gm2-libs/StrIO.mod:  tidied up formatting and
          updated dates.





reply via email to

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