beta - BETA Compiler (version 5.4)
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-2004 Mjølner Informatics |
[Modified: Tuesday June 29th 2004 at 13:19]
|