Difference between revisions of "Oubliette"

From Mesham
Jump to navigationJump to search
(Latest (to be released))
Line 17: Line 17:
  
 
=== Latest (to be released) ===
 
=== Latest (to be released) ===
 +
 +
=== Build 299 (March 2013) ===
 
* Support for dynamic number of processes above minimum value
 
* Support for dynamic number of processes above minimum value
 
* Primitive communication and modes support dynamic (decided at runtime) PID, size and operation arguments
 
* Primitive communication and modes support dynamic (decided at runtime) PID, size and operation arguments

Revision as of 15:43, 8 March 2013

Oubliette.png

Introduction

Oubliette is the Mesham compiler line from version 1.0 onwards. This line is completely rewritten from the previous Arjuna, using lessons learned and the fact that the language has reached a stable state in terms of definition and the type oriented approach.

Download

You can download the latest compiler and supporting libraries here.

Implementation

Oubliette is written in C++ and uses Flex for tokenisation and Bison for parsing. The type library is entirely separate and it is intended in the future to support extra libraries via dynamic libraries. Unline Arjuna, which has the standard function library hard coded in the compiler, Oubliette just considers these to be normal Mesham source code files which are included by the programmer. This approach gives increased flexibility and a cleaner compiler.

All the types have been entirely rewritten and an API (documentation to follow) has been created to allow for third party extensions.

Idaho

To support this new version of the compiler, the runtime library has been reengineered and released under the name Idaho. This version supports the functionality required by Mesham, the standard library and some internal housekeeping work.

Update history

Latest (to be released)

Build 299 (March 2013)

  • Support for dynamic number of processes above minimum value
  • Primitive communication and modes support dynamic (decided at runtime) PID, size and operation arguments
  • -p flag added to all Mesham executables which reports the minimum number of processes needed
  • Functions can be in any order even if we are using the return type to declare a variable
  • Support for dynamically loading type libraries which are provided as extension .so libraries
  • Support for external runtime libraries to be linked in during compilation
  • Environment arguments provided to underlying C compiler for optimisation
  • Improvements to dynamic partitioning runtime support

Build 241 (January 2013)

First alpha release of the oubliette compliler