Compiler

The compiler consists of the following modules:

  • AbstractSyntaxTree.bet.
  • DirectoryComponents.bet. Code for handling directories and files.
  • lexer.bet
  • parser.bet. A recursive descent compiler for newBETA.
  • parseStdBeta.bet. A parser for the official BETA. It is used to be able to parse the whole Mjølner BETA System in order to display it in the browser.
  • checker.bet
  • generator.bet
  • compiler.bet. The main program.

Virtual machine

The virtual machine is designed for BETA and the interpreter is implemented in BETA.

The VM is integrated into the compiler, which generates a virtual image that is subsequently executed by the VM. The VM consists of the following modules:

  • objectcode.bet
  • objectImage.bet
  • betaVM.bet

The BETA World

BETA librraries and programs are organized in a hierarchical module structure. This structure is mapped to a hierarchical directory- and file structure. The modules are named using reverse URL's. The organization of modules is inspired by the organization of Java packages.

BETA World currently consists of the following modules:

  • BETAworld. The top mdule of the new BETA system. It is currently located as a subdirectory of the compiler directory (miniCompiler).
    • BETA. The core elements of the BETA libraries.
    • LIB. The basic libraries of BETA
    • dk. Example libraries from Danish organizations
    • org. Example libraries from org-domains.
    • workspace. A working module for local programs