Difference between revisions of "Oubliette"
Line 20: | Line 20: | ||
* Extended string function library to include more advanced handling functions | * Extended string function library to include more advanced handling functions | ||
* Inline if operator supported | * Inline if operator supported | ||
+ | * Texas range in group parallel statement | ||
+ | * Primitive collective communication types accept arrays of data sizes and displacements | ||
=== Build 299 (March 2013) === | === Build 299 (March 2013) === |
Revision as of 11:22, 22 April 2013
Contents
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)
- Reworked expression grammar for improved parsing
- Extended string function library to include more advanced handling functions
- Inline if operator supported
- Texas range in group parallel statement
- Primitive collective communication types accept arrays of data sizes and displacements
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