No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with ccebinger:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Editor
KreuzTesting/src
Milestone 1
Milestone 2
Milestone 3
Organisatorisches
book_references
haskellTests/correct_interpretation
java-stack-lib
konzepte
logo
projekt-compiler
rail-compiler
rail-examples
rail-interpreter
tutorials
xTesting
xTestingDiagramm
.gitattributes
.gitignore
Makefile
README.md
cppReport.txt

README.md

Jail++ (Rail compiler)

The Jail Constructions ltd. proudly presents you our newest product: Jail++, a Rail to Java ByteCode compiler in C++.

Hey! What's Rail?

Esolang-Wiki: Esoteric 2D computer language

Who are we

The Jail Constructions ltd. are a group of 15 computer science students from the Freie Universität Berlin in Germany. During the summer term 2014, we developed a compiler that translates Rail code into JVM Bytecode. In addition, we programmed an Integrated Development Environment (IDE) for Rail coders. It simplifies the process of writing rails and offers features like undo/redo, rail rotation and mirroring, individually configurable syntax highlighting, compiler integration, I/O text areas and many more.

Project Goals

  • implementation of all available Rail commands
    • data types
    • functions
    • lists
    • recursions
    • junctions
    • stack operations
  • pipeline interfaces
  • AST Serialisation
  • IDE for Rail with syntax highlighting

Contents

  1. Development

  2. Building the compiler

  3. Compiler usage

  4. Building the IDE

  5. Contribution Guide

  6. Development


Guidelines

This project was developed for Linux (Ubuntu 14.04) and has not been tested on any other operating systems.

  • no Libs STL only
  • std=C++11 TODO
  1. Building the compiler

We recommend you to use Eclipse to build the compiler. In tutorials/eclipseCdt_Cpp11.txt you will find a step-by-step guide to configure the project correctly.

  1. Compiler usage

cppRail (-i|-d) <srcFile> [-s <dstFile>] [-g <dstFile>] [-h]

Parameters

  • -i compiles to .class
  • -o compiles source to
  • -s serializes the ASG to csv
  • -d deserializes and compiles to .class
  • -g generates a graphviz .dot file as ASG-Visualisation
  • -q quiet mode (Warnings, Errors, Exceptions only)
  • -h Commandline Help

You can either user -i or -d, not both

  1. Building the IDE

You will need Qt to build the Rail IDE. Check tutorials/Qt5Tutorial.txt to install Qt5 from bottom up.

Additionally, you should install the Qt Creator to run the IDE (see tutorials/EditorTutorial.txt for a step-by-step guide).

The usage of the IDE should be very intuitive, so just check out the available menu options.

  1. Contribution Guide

Contribution in any form is (currently) limited to students that are involved.