1.4 GNU Modula-2 Features ¶
- the compiler currently complies with Programming in Modula-2 Edition
2, 3, 4 and ISO Modula-2. Users can switch on specific language
features by using: ‘-fpim’, ‘-fpim2’, ‘-fpim3’,
‘-fpim4’ or ‘-fiso’.
- the option ‘-fswig’ will automatically create a swig interface
file which corresponds to the definition module of the file being
compiled.
- exception handling is compatible with C++ and swig. Modula-2 code can
be used with C or C++ code.
- Python can call GNU Modula-2 modules via swig.
- shared libraries can be built.
- fixed sized types are now available from ‘SYSTEM’.
- variables can be declared at addresses.
- much better dwarf-2 debugging support and when used with
‘gdb’ the programmer can display
RECORD
s,
ARRAY
s, SET
s, subranges and constant char literals
in Modula-2 syntax.
- supports sets of any ordinal size (memory permitting).
- easy interface to C, and varargs can be passed to C routines.
- many Logitech libraries have been implemented and can be accessed via:
‘-flibs=m2log,m2pim,m2iso’.
- coroutines have been implemented in the PIM style and these are
accessible from SYSTEM. A number of supporting libraries (executive
and file descriptor mapping to interrupt vector libraries are
available through the ‘-flibs=m2iso,m2pim’ switch).
- can be built as a cross compiler (for embedded microprocessors
such as the AVR and the ARM).