beta - BETA Compiler (version 5.5)
beta [--help|-h] [--repeat|-r] [--noRepeat] [--link]
[--noLink|-x] [--static] [--dynamic] [--list] [--noList|-l]
[--debug] [--noDebug|-d] [--code] [--noCode|-c] [--checkQua]
[--noCheckQua|-Q] [--checkNone] [--noCheckNone|-N]
[--checkIndex] [--noCheckIndex|-I] [--warn] [--noWarn|-w]
[--warnQua] [--noWarnQua|-q] [--verbose] [--quiet] [--mute]
[--traceCheck] [--noTraceCheck] [--traceCode]
[--noTraceCode] [--out file | -o file] [--preserve|-p]
[--noPreserve] [--job] [--noJob|-j] [--switch sw-1...sw-n
[0] | -s sw-1...sw-n [0]] [--linkOpts string] files...
The Mjolner BETA Compiler is available as part of the
Mjolner System from Mjolner Informatics.
beta is an efficient compiler for the object oriented pro-
gramming language BETA. The compiler is using native code
generation, automatic garbage collection, and separate com-
pilation. The compiler also allows for easy interfacing
into code and data structures, originating from sources
written in other languages such as C, Pascal and assembly
language. The Mjolner System includes (besides this BETA
compiler), a persistent store for BETA objects, a source-
level debugger, a hyper structure editor and a wide variety
of libraries and application frameworks (data structures,
window system frameworks, metaprogramming system, etc.), an
object-oriented database for BETA objects (prerelease), a
distributed object system for BETA objects (experimental),
etc.
-h
--help
Print this help info
-r
--repeat
Run compiler in repeating mode
--noRepeat
Do not run compiler in repeating mode (default)
--link
Link program (default)
-x
--noLink
Do not link program
--static
Use static linking
--dynamic
Use dynamic linking (default)
--list
Generate .lst file, if semantic errors (default)
-l
--noList
Do not generate .lst file, if semantic errors
--debug
Generate debug info to enable debugging (default)
-d
--noDebug
Do not generate debug info
--code
Generate code (default)
-c
--noCode
Do not generate code
--checkQua
Generate qualification runtime checks (default)
-Q
--noCheckQua
Do not generate qualification runtime checks
--checkNone
Generate runtime checks for NONE references (default)
-N
--noCheckNone
Do not generate runtime checks for NONE references
--checkIndex
Generate runtime checks for repetition index out of
range (default)
-I
--noCheckIndex
Do not generate runtime checks for repetition index out
of range
--warn
Generate warnings (default)
-w
--noWarn
Do not generate warnings
--warnQua
Generate warnings about runtime QUA checks (default)
-q
--noWarnQua
Do not generate warnings about runtime QUA checks
--verbose
Verbose compiler info output
--quiet
Only compiler info on parse, check, etc. (default)
--mute
No compiler info output
--traceCheck
Trace the compiler during semantic checking
--noTraceCheck
Do not trace the compiler during semantic checking
--traceCode
Trace the compiler during code generation
--noTraceCode
Do not trace the compiler during code generation (de-
fault)
-o file
--out file
Specify name to use for executable
-p
--preserve
Preserve generated .job and assembly files
--noPreserve
Do not preserve generated .job and assembly files (de-
fault)
--job
Execute the .job file (default)
-j
--noJob
Do not execute the .job file
-s sw-1...sw-n [0]
--switch
sw-1 ... sw-n [0]
Set/unset one or more compiler switches. Please see the
section Compiler switches below for details.
--linkOpts string
Specify text string to be append to the link directive
Note that short options can be combined, e.g. -q -c can be
written as -qc . Long option names are case insensitive,
whereas single character options are case sensitive.
Compiler switches
This section describes the most interesting compiler
switches with respect to parameterization. Please con-
sult the compiler reference manual for details.
12: Force code generation for all fragments in the
dependency graph. Since this switch may force
code generation of standard libraries, it should
only be used by the system administrators and
only in the case of serious problems with the
installation.
21: Continue translation after semantic errors.
191: Print each descriptor just before it is checked.
192: Print each declaration just before it is checked.
193: Print each imperative just before it is checked.
308: Print each declaration just before code is gen-
erated for it.
311: Print each imperative just before code is gen-
erated for it.
Note that switches 191, 192 and 193 are jointly set by
--traceCheck and that switches 308 and 311 are jointly set
by --traceCode .
The beta compiler recognizes the environment variables list-
ed below. Please note that many of these variables are given
default values in the Bourne Shell script
$BETALIB/configuration/env.sh (see the BETALIB environment
variable below). If the default values for some of these
variables are to be changed for an entire site-installation,
the easiest way to do it is by changing them directly in
this file.
BETALIB
Specifies where ~beta is located. If not set, beta is
assumed to be a username, and ~beta being the home
directory of that user. Is used by many tools in the
Mjolner System.
BETAOPTS
Specifies options that the beta compiler should be in-
voked with by default.
BETALINKOPTIONS
Specifies the linker options to be used by the BETA
compiler when linking (using std. UNIX linker). If
set, it totally overwrites the default link options,
the compiler would have used otherwise.
LD_LIBRARY_PATH
This is a colon separated list of directories to search
for external libraries during linking. Notice that not
all standard UNIX linkers supports this variable
directly, but the ..job files generated by the beta-
compiler will still use this variable.
TMPDIR
Normally, the link-directives in the ..job files will
use /tmp for temporary files. If another directory is
to be used (e.g. because /tmp is full), setting TMPDIR
to the name of a directory, prior to compilation, will
cause the link-directives to place temporary files in
this directory.
MACHINETYPE
Is set automatically by the compiler during the execu-
tion of the ..job files and make files.
BETART
Is used to set various characteristics of the BETA run-
time system. See documentation on the Web:
$BETALIB/doc/betarun/BETART.html:
Local copy of the document as released with
release 5.0.
http://www.mjolner.com/mjolner-system/
documentation/betarun/BETART.html:
Latest version of the document.
BETARS
Corresponds to BETART. Is used by valhalla (the source
level debugger) for specifying the BETART entries for
the program being debugged (and thus not affecting the
behavior of the debugger itself). Setting BETART is in
this case used to control the entries of the debugger
itself.
file.bet
The file containing the BETA source-code
file.ast
On a big-endian architecture, this file will contain
the abstract syntax tree representation of the compiled
source code. This file is used by many tools in the
Mjolner System. This file used to be called file.group
in previous releases of the Mjolner System.
file.astL
On a little-endian architecture, this file will contain
the abstract syntax tree representation of the compiled
source code. This file is used by many tools in the
Mjolner System.
file.lst
This file is generated in the case of errors during the
compilation process. It will then contain error-
messages etc. along with the source code if errors are
discovered in the source code (syntax errors and seman-
tic errors).
file.o
This file will contain the object-code for the compiled
source code. file.o files are located in subdirectories
named according to the machine type, to which the
source code have been compiled. Currently, the direc-
tories: sun4s, hpux9pa, linux, nti_ms, nti_gnu, sgi,
and ppcmac can be created. These directories are au-
tomatically created by the compiler, if not present al-
ready.
file..job
(or file.job) This file contains commands controlling
the assembly and link process (asm and link instruc-
tions, etc.). This file is generated during the compi-
lation process, and will normally be removed immediate-
ly before the compilation terminates. Like file.o the
job-file is placed in a subdirectory corresponding to
the machine type, please see file.o for a descriptrion.
file..s
This file (only generated on HP-UX machines) will con-
tain the assembly code for the compiled source code
files. This file is also normally removed immediately
before the compilation terminates. Like file.o the
assembly-file is placed in a subdirectory corresponding
to the machine type, please see file.o for a descrip-
trion.
file.db
file with debug info used by valhalla. Like file.o the
debug-file is placed in a subdirectory corresponding to
the machine type, please see file.o for a descriptrion.
file.dump
If a run-time error occurs during execution of the exe-
cutable, a dump of the current object and the call
chain that activated that object will be written to
this file. Please note, that in some situations, the
program state may be so corrupted that the dump becomes
unprecise, or it may fail completely to produce the
dump. Try using valhalla. and reproduce the error if
the dump is not enough to understand the error. Note
that this file was previously named beta.dump for all
applications.
$BETALIB/configuration/env.sh
Bourne Shell script used by the tools in the Mjolner
System. Contains default set-up of environment vari-
ables for the architectures currently supported by the
Mjolner System.
mjolner(1) - Mjolner Integrated Development Environment
betatar(1) - BETA tar(1) front-end
betawc(1) - BETA fragment analyser
betafs(1) - Mjolner BETA Fragment Structure Lister
The USENET newsgroup comp.lang.beta is intended for discus-
sions about the BETA language and the programs and systems
written in or supporting BETA. Discussions concerning
object-oriented programming principles based on the concepts
known from BETA will also take place in comp.lang.beta, pos-
sibly cross-posted to comp.object.
The beta-language-faq will be cross-posted to
comp.lang.beta, and the most frequently asked questions from
comp.lang.beta will be included in the subsequent versions
of the FAQ. The faq is also available on the Web:
http://www.daimi.au.dk/~beta/faq/beta-language-faq.html
Two home pages are accessible on the World Wide Web, at the
URLs
http://www.mjolner.com/
http://www.daimi.au.dk/~beta/
The Mjolner System - Online Documentation; available in two
forms:
$BETALIB/doc/index.html:
Local copy of the documentation as released with
release 5.0.
http://www.mjolner.com/mjolner-system/
documentation/index.html:
Latest version of the documentation.
[MIA 90-02] The Mjolner System - Compiler Reference Manual;
available in two forms:
$BETALIB/doc/compiler/index.html:
Local copy of the compiler documentation as
released with release 5.0.
http://www.mjolner.com/mjolner-system/
documentation/compiler/index.html:
Latest version of the compiler documentation.
O. Lehrmann Madsen, B. Moller-Pedersen, K. Nygaard:
Object-Oriented Programming in the BETA Programming
Language, Addison-Wesley, 1993, ISBN 0-201-62430-3.
J. L. Knudsen, M. Lofgren, O. L. Madsen, B. Magnusson
(Eds.): Object-Oriented Environments - The Mjolner Approach,
Prentice Hall, 1994, ISBN 0-13-009291-6.
The BETA compiler does not currently implement the entire
BETA language. A few constructs are not supported. For a
precise description of the limitations (and additions), see
the compiler reference manual.
The BETA Compiler is developed by Mjolner Informatics as
part of the Mjolner System.
Questions, bug-reports, etc. may be directed to
support@mjolner.com if the local support organization cannot
find solutions to the problems.
For more information of the Mjolner System, please contact
Mjolner Informatics, Helsingforsgade 27, DK-8200 Aarhus N,
Denmark, phone: +45 70 27 43 43, fax: +45 70 27 43 44, e-
mail: info@mjolner.com, web: http://www.mjolner.com.
| Mjølner System: Man Pages | © 1990-2002 Mjølner Informatics |
[Modified: Tuesday June 29th 2004 at 13:05]
|