Login | Register
My pages Projects Community openCollabNet

Project home

2020-04-07: This site is going to be decommissioned and shut down on 2020-07-01. Please copy and archive any data you wish to keep before that date.

If you were registered and logged in, you could join this project.

Summary Gene Compiler
Category construction
License GNU General Public License
Owner(s) lotec
Gene is an experimental programming language based on EBNF (such as COCO/L) and procedural languages (like C++).  It is therefor ideally suited for applications that process a lot of sequential input and output such as scanners, LL(1) parsers and data generators.
Gene also supports container objects (objects that manage a list of other objects such as arrays, linked lists, queues, relation tables,...) and cursors which can be compared to SQL cursors, except they do not point to a record set, but to a container.  Cursors, like in sql, also have positional information.
For a more detailled overview of what gene is, please read this or go to the homepage of gene.

Current goals are:
  • Move to the .net environment
  • Make it stable for general use
Gene is currently fully working, as such it is able to compile itself.  Gene is therefor written in itself.  A C++ compiler is still needed to compile the generated code.  The currently stable version requires a Borland compiler.

A lot of work is currently being done.  The compiler is being moved to the .net platform.  Because of this, some features have been changed, extended or removed.  For instance, Gene now supports generics, which overlapped with the 'container' principle and was therefor removed.  Cursors however are still available.  Automations have also been removed because of code complexity (the current implementation was somewhat unstable and was a nightmare for error handling).  This technique will probably be moved into a real preprocessor.  The include system has also been changed in order to better fit into the visual studio environment. New features include delegates and namespaces.  A visual studio language package is also in the pipe line.

To get started, you need to get the source, libraries and compiler, which can be found in the dowload section.  For the latest sources, please use subversion.  Here, you can find an explanation for getting started.

Note: To compile Gene, you will need to have the gene common library which can be found here.
This is a seperate project cause it is distributed under a different licence (the Lesser GNU GPL).


Filter this list
Name Summary
genelib the common Gene library