rochus-keller / ActiveOberon

Parser and code browser for the ActiveOberon language (original version from 2004)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About this project

This is a parser and source code navigation tool for the ActiveOberon language as specified in the 2004 language report.

The main purpose of this project is to provide tools to analyze and study the source code of the ETH Bluebottle Active Object System, and to gain more insights on my way towards Oberon+ concurrency.

EbnfStudio was used to develop the grammar in Ao.ebnf, and also to generate the included AoParser/AoSynTree/AoTokenType.h/.cpp.

Here is a screenshot of the code navigator:

AoCodeNavigator Screenshot

NOTE that this project is work in progress.

Binary versions

Not yet available.

Build Steps

This project can be built using qmake and Qt5. Use the .pro files to run the build as described in the Qt documentation.

Alternatively the Code Navigator can be built using LeanQt and the BUSY build system (with no other dependencies than a C++98 compiler); follow these steps:

  1. Create a new directory; we call it the root directory here
  2. Download https://github.com/rochus-keller/ActiveOberon/archive/refs/heads/master.zip and unpack it to the root directory; rename the resulting directory to "LisaPascal".
  3. Download https://github.com/rochus-keller/LeanQt/archive/refs/heads/master.zip and unpack it to the root directory; rename the resulting directory to "LeanQt".
  4. Download https://github.com/rochus-keller/BUSY/archive/refs/heads/master.zip and unpack it to the root directory; rename the resulting directory to "build".
  5. Open a command line in the build directory and type cc *.c -O2 -lm -o lua or cl /O2 /MD /Fe:lua.exe *.c depending on whether you are on a Unix or Windows machine; wait a few seconds until the Lua executable is built.
  6. Now type ./lua build.lua ../ActiveOberon (or lua build.lua ../ActiveOberon on Windows); wait until the AoCodeNavigator executable is built; you find it in the output subdirectory.

Support

If you need support or would like to post issues or feature requests please use the Github issue list at https://github.com/rochus-keller/ActiveOberon/issues or send an email to the author.

About

Parser and code browser for the ActiveOberon language (original version from 2004)

License:GNU General Public License v2.0


Languages

Language:C++ 99.5%Language:QMake 0.5%