1 Manpage for beta


1.1 NAME

     beta - BETA Compiler (version 5.4)


1.2 SYNOPSIS

     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...


1.3 AVAILABILITY

     The Mjolner BETA  Compiler  is  available  as  part  of  the
     Mjolner System from Mjolner Informatics.


1.4 DESCRIPTION

     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.


1.5 OPTIONS

      -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 .


1.6 ENVIRONMENT

     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.


1.7 FILES

     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.


1.8 SEE ALSO

     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.


1.9 BUGS

     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.


1.10 AUTHORS

     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]