My favorites | Sign in
bil
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages

BIL: Basic Imperative Language

BIL is a programming language supporting basic imperative operations and control structures. BIL comes with a parser, an interpreter, a compiler, and a virtual machine to run compiled code. This project is an exercise, and not intended for any sort of real world use; many of its features and design decisions were made with the priority of making something different, not necessarily easy to use or functional.

Requirements

To interpret or compile and run BIL programs from distribution JAR files, the following utilities are required:

  • Sun JDK 1.6
  • SpiderMonkey 1.7.0 (JavaScript-C 1.7.0 2007-10-03)

To build and test BIL itself, the following utilities are required in addition to those mentioned above:

  • GNU bash 3.2.48(1)-release
  • GNU Make 3.81
  • GNU sed 4.1.5
  • GNU diffutils 2.8.1
  • tput (ncurses 5.7.20081102)
  • Subversion 1.5.4 (r33841)
  • A Linux/UNIX build environment
  • A working Internet connection

To view BIL's documentation, a web browser is required.

Usage

If you are missing the appropriate JAR file(s), either build them following the steps detailed in "Installation," or download them from http://code.google.com/p/bil/

To use BIL's Parser to generate a parse tree, use the following command:

	java -jar bil-parser.jar
	[enter your BIL source code]
	[Ctrl+d to stop input and generate parse tree]

To use BIL's Interpreter to interpret BIL code, use the following command:

	java -jar bil-interpreter.jar source-file.bil

To use BIL's Compiler to compile BIL code, use the following command:

	java -jar bil-compiler.jar source-file.bil > output.bilvm

To interpret compiled BIL code with BIL's VM, use the following commands:

	jar xf bil-compiler.jar
	js vm/VM.js output.bilvm

Installation

If not already available, distribution JAR files must be generated. To do so, perform the following steps.

  1. Checkout the BIL source code from its Subversion repository with the following command:
  2.  svn checkout http://bil.googlecode.com/svn/trunk/ bil
  3. Build the BIL parser, interpreter, compiler, and JAR files:
  4.  cd bil
     make dist
  5. Change to the src directory, and use as specified in "Usage."
  6.  cd src
     java -jar ...

Testing

To run BIL's automated tests, follow these steps.

  1. Checkout the BIL source code from its Subversion repository with the following command:
  2.  svn checkout http://bil.googlecode.com/svn/trunk/ bil
     cd bil
     make test

Additional Documentation

For information on programming in BIL, see the LanguageReference.

Bundled with any BIL JAR file is detailed documentation. This documentation is located within the doc/ directory within the JAR file. To access this documentation, use the commands:

	jar xf bil-X.jar	# Where X is parser, interpreter, or compiler
	# Open doc/index.html in your favorite web browser

Contact Information

The author of BIL, Vic Fryzel, can be reached by email at the address listed under the project members.

Powered by Google Project Hosting