Table of Contents
1 Overview of GNU Modula-2
1.1 What is GNU Modula-2
1.2 Why use GNU Modula-2
1.3 How to get source code using git
1.4 GNU Modula-2 Features
2 Using GNU Modula-2
2.1 Example compile and link
2.2 Compiler options
2.3 Elementary data types
2.4 Permanently accessible base procedures.
2.4.1 Standard procedures and functions common to PIM and ISO
2.4.2 ISO specific standard procedures and functions
2.5 Behavior of the high procedure function
2.6 GNU Modula-2 supported dialects
2.6.1 Integer division, remainder and modulus
2.7 Exception implementation
2.8 How to detect run time problems at compile time
2.9 GNU Modula-2 language extensions
2.9.1 Optional procedure parameter
2.10 Type compatibility
2.10.1 Expression compatibility
2.10.2 Assignment compatibility
2.10.3 Parameter compatibility
2.11 Unbounded by reference
2.12 Building a shared library
2.13 How to produce swig interface files
2.13.1 Limitations of automatic generated of Swig files
2.14 How to produce a Python module
2.15 Interfacing GNU Modula-2 to C
2.16 Interface to assembly language
2.17 Data type alignment
2.18 Packing data types
2.19 Accessing GNU Modula-2 Built-ins
2.20 The PIM system module
2.21 The ISO system module
2.22 Release map
2.23 Documentation
2.24 Regression tests for gm2 in the repository
2.25 Limitations
2.26 Objectives
2.27 FAQ
2.27.1 Why use the C++ exception mechanism in GCC, rather than a bespoke Modula-2 mechanism?
2.28 Community
2.29 Other languages for GCC
2.30 License of GNU Modula-2
GNU General Public License
Contributing to GNU Modula-2
3 EBNF of GNU Modula-2
4 PIM and ISO library definitions
4.1 Base libraries
4.1.1 gm2-libs/ASCII
4.1.2 gm2-libs/Args
4.1.3 gm2-libs/Assertion
4.1.4 gm2-libs/Break
4.1.5 gm2-libs/Builtins
4.1.6 gm2-libs/COROUTINES
4.1.7 gm2-libs/CmdArgs
4.1.8 gm2-libs/Debug
4.1.9 gm2-libs/DynamicStrings
4.1.10 gm2-libs/Environment
4.1.11 gm2-libs/FIO
4.1.12 gm2-libs/FormatStrings
4.1.13 gm2-libs/FpuIO
4.1.14 gm2-libs/GetOpt
4.1.15 gm2-libs/IO
4.1.16 gm2-libs/Indexing
4.1.17 gm2-libs/LMathLib0
4.1.18 gm2-libs/LegacyReal
4.1.19 gm2-libs/M2Dependent
4.1.20 gm2-libs/M2EXCEPTION
4.1.21 gm2-libs/M2RTS
4.1.22 gm2-libs/MathLib0
4.1.23 gm2-libs/MemUtils
4.1.24 gm2-libs/NumberIO
4.1.25 gm2-libs/OptLib
4.1.26 gm2-libs/PushBackInput
4.1.27 gm2-libs/RTExceptions
4.1.28 gm2-libs/RTint
4.1.29 gm2-libs/SArgs
4.1.30 gm2-libs/SCmdArgs
4.1.31 gm2-libs/SEnvironment
4.1.32 gm2-libs/SFIO
4.1.33 gm2-libs/SMathLib0
4.1.34 gm2-libs/SYSTEM
4.1.35 gm2-libs/Scan
4.1.36 gm2-libs/Selective
4.1.37 gm2-libs/StdIO
4.1.38 gm2-libs/Storage
4.1.39 gm2-libs/StrCase
4.1.40 gm2-libs/StrIO
4.1.41 gm2-libs/StrLib
4.1.42 gm2-libs/StringConvert
4.1.43 gm2-libs/SysExceptions
4.1.44 gm2-libs/SysStorage
4.1.45 gm2-libs/TimeString
4.1.46 gm2-libs/UnixArgs
4.1.47 gm2-libs/cbuiltin
4.1.48 gm2-libs/cgetopt
4.1.49 gm2-libs/cxxabi
4.1.50 gm2-libs/dtoa
4.1.51 gm2-libs/errno
4.1.52 gm2-libs/gdbif
4.1.53 gm2-libs/ldtoa
4.1.54 gm2-libs/libc
4.1.55 gm2-libs/libm
4.1.56 gm2-libs/sckt
4.1.57 gm2-libs/termios
4.1.58 gm2-libs/wrapc
4.2 PIM and Logitech 3.0 Compatible
4.2.1 gm2-libs-log/BitBlockOps
4.2.2 gm2-libs-log/BitByteOps
4.2.3 gm2-libs-log/BitWordOps
4.2.4 gm2-libs-log/BlockOps
4.2.5 gm2-libs-log/Break
4.2.6 gm2-libs-log/CardinalIO
4.2.7 gm2-libs-log/Conversions
4.2.8 gm2-libs-log/DebugPMD
4.2.9 gm2-libs-log/DebugTrace
4.2.10 gm2-libs-log/Delay
4.2.11 gm2-libs-log/Display
4.2.12 gm2-libs-log/ErrorCode
4.2.13 gm2-libs-log/FileSystem
4.2.14 gm2-libs-log/FloatingUtilities
4.2.15 gm2-libs-log/InOut
4.2.16 gm2-libs-log/Keyboard
4.2.17 gm2-libs-log/LongIO
4.2.18 gm2-libs-log/NumberConversion
4.2.19 gm2-libs-log/Random
4.2.20 gm2-libs-log/RealConversions
4.2.21 gm2-libs-log/RealInOut
4.2.22 gm2-libs-log/Strings
4.2.23 gm2-libs-log/Termbase
4.2.24 gm2-libs-log/Terminal
4.2.25 gm2-libs-log/TimeDate
4.3 PIM coroutine support
4.3.1 gm2-libs-coroutines/Executive
4.3.2 gm2-libs-coroutines/KeyBoardLEDs
4.3.3 gm2-libs-coroutines/SYSTEM
4.3.4 gm2-libs-coroutines/TimerHandler
4.4 M2 ISO Libraries
4.4.1 gm2-libs-iso/COROUTINES
4.4.2 gm2-libs-iso/ChanConsts
4.4.3 gm2-libs-iso/CharClass
4.4.4 gm2-libs-iso/ClientSocket
4.4.5 gm2-libs-iso/ComplexMath
4.4.6 gm2-libs-iso/ConvStringLong
4.4.7 gm2-libs-iso/ConvStringReal
4.4.8 gm2-libs-iso/ConvStringShort
4.4.9 gm2-libs-iso/ConvTypes
4.4.10 gm2-libs-iso/EXCEPTIONS
4.4.11 gm2-libs-iso/ErrnoCategory
4.4.12 gm2-libs-iso/GeneralUserExceptions
4.4.13 gm2-libs-iso/IOChan
4.4.14 gm2-libs-iso/IOConsts
4.4.15 gm2-libs-iso/IOLink
4.4.16 gm2-libs-iso/IOResult
4.4.17 gm2-libs-iso/LongComplexMath
4.4.18 gm2-libs-iso/LongConv
4.4.19 gm2-libs-iso/LongIO
4.4.20 gm2-libs-iso/LongMath
4.4.21 gm2-libs-iso/LongStr
4.4.22 gm2-libs-iso/LongWholeIO
4.4.23 gm2-libs-iso/LowLong
4.4.24 gm2-libs-iso/LowReal
4.4.25 gm2-libs-iso/LowShort
4.4.26 gm2-libs-iso/M2EXCEPTION
4.4.27 gm2-libs-iso/M2RTS
4.4.28 gm2-libs-iso/MemStream
4.4.29 gm2-libs-iso/Preemptive
4.4.30 gm2-libs-iso/Processes
4.4.31 gm2-libs-iso/ProgramArgs
4.4.32 gm2-libs-iso/RTco
4.4.33 gm2-libs-iso/RTdata
4.4.34 gm2-libs-iso/RTentity
4.4.35 gm2-libs-iso/RTfio
4.4.36 gm2-libs-iso/RTgen
4.4.37 gm2-libs-iso/RTgenif
4.4.38 gm2-libs-iso/RTio
4.4.39 gm2-libs-iso/RandomNumber
4.4.40 gm2-libs-iso/RawIO
4.4.41 gm2-libs-iso/RealConv
4.4.42 gm2-libs-iso/RealIO
4.4.43 gm2-libs-iso/RealMath
4.4.44 gm2-libs-iso/RealStr
4.4.45 gm2-libs-iso/RndFile
4.4.46 gm2-libs-iso/SIOResult
4.4.47 gm2-libs-iso/SLongIO
4.4.48 gm2-libs-iso/SLongWholeIO
4.4.49 gm2-libs-iso/SRawIO
4.4.50 gm2-libs-iso/SRealIO
4.4.51 gm2-libs-iso/SShortIO
4.4.52 gm2-libs-iso/SShortWholeIO
4.4.53 gm2-libs-iso/STextIO
4.4.54 gm2-libs-iso/SWholeIO
4.4.55 gm2-libs-iso/SYSTEM
4.4.56 gm2-libs-iso/Semaphores
4.4.57 gm2-libs-iso/SeqFile
4.4.58 gm2-libs-iso/ShortComplexMath
4.4.59 gm2-libs-iso/ShortConv
4.4.60 gm2-libs-iso/ShortIO
4.4.61 gm2-libs-iso/ShortMath
4.4.62 gm2-libs-iso/ShortStr
4.4.63 gm2-libs-iso/ShortWholeIO
4.4.64 gm2-libs-iso/SimpleCipher
4.4.65 gm2-libs-iso/StdChans
4.4.66 gm2-libs-iso/Storage
4.4.67 gm2-libs-iso/StreamFile
4.4.68 gm2-libs-iso/StringChan
4.4.69 gm2-libs-iso/Strings
4.4.70 gm2-libs-iso/SysClock
4.4.71 gm2-libs-iso/TERMINATION
4.4.72 gm2-libs-iso/TermFile
4.4.73 gm2-libs-iso/TextIO
4.4.74 gm2-libs-iso/TextUtil
4.4.75 gm2-libs-iso/WholeConv
4.4.76 gm2-libs-iso/WholeIO
4.4.77 gm2-libs-iso/WholeStr
4.4.78 gm2-libs-iso/wrapclock
4.4.79 gm2-libs-iso/wrapsock
4.4.80 gm2-libs-iso/wraptime
4.5 Indices
4.6 Section and subsections
4.7 Function, constants, types, ebnf indices.
Next:
Overview of GNU Modula-2
, Previous:
(dir)
, Up:
(dir)
[
Contents
][
Index
]
Introduction
¶
Overview of GNU Modula-2
Using GNU Modula-2
GNU General Public License
EBNF of GNU Modula-2
PIM and ISO library definitions
Next:
Overview of GNU Modula-2
, Previous:
(dir)
, Up:
(dir)
[
Contents
][
Index
]