OBNC-COMPILE(1)

NAME
obnc-compile - compile an Oberon module to C

SYNOPSIS
obnc-compile [-e | -l] INFILE
obnc-compile (-h | -v)

DESCRIPTION
obnc-compile compiles an Oberon module to C. The input filename is expected to end with .obn, .Mod or .mod. All output files (C implementation file, C header file, symbol file etc.) are stored in the subdirectory .obnc.

The compiler accepts the Oberon language as defined in "The Programming Language Oberon", revision 2013-10-01 / 2016-05-03 (Oberon-07). The module SYSTEM provides the generally applicable procedures plus VAL, as defined in the language report. The underscore character is also accepted as a word separator in identifiers. The target language is ANSI C (C89).

The generated C file uses the exception codes below. If an exception occurs the trap handler is called. By default it writes the exception code to the standard error stream and aborts the program.

E1 = destination array too short for assignment
E2 = array index out of bounds
E3 = nil pointer dereference
E4 = nil procedure variable call
E5 = source in assignment is not an extension of target
E6 = type guard failure
E7 = unmatched expression in case statement
E8 = assertion failure

OPTIONS

-e  Create an entry point function (main).

-h  Display help and exit.

-l  Print names of imported modules to standard output and exit.

-v  Display version and exit.

ENVIRONMENT

OBNC_IMPORT_PATH
    See obnc-path(1)

AUTHOR
Written by Karl Landström

SEE ALSO
obnc(1), obnc-path(1)