Guillemette, Louis-Julien (2004) MLPE : an extensible multi-language programming environment. Masters thesis, Concordia University.
MQ94740.pdf - Accepted Version
Sizable projects often involve the combination of multiple languages, and many projects involve the use of one or more languages designed specifically for the application. There exists a primary need, on the one hand, to facilitate the cooperation of several languages, and on the other hand, to facilitate the implementation of new ones. Correspondingly, one can identify two kinds of software: (1) mixed languages systems, which are those systems combining parts written in several languages, and (2) language prototyping tools, which are tools meant to facilitate the construction of prototype implementations of a programming language based on some formal description of it. This thesis reports an attempt at constructing a programming environment that combines the requirements of the two. The thesis presents MLPE, a programming environment designed for generic support of programming languages (i.e. meant to host an open-ended set of languages). Cross-language operability is enabled through a set of common programmatic abstractions, namely a common type system and module system. MLPE is extended to support three languages in common use, namely C, Java and Haskell. A language prototyping tool designed to complement the programming environment is also presented. The prototype implementation of a simple procedural language is constructed and put to use in the context of the programming environment.
|Divisions:||Concordia University > Faculty of Engineering and Computer Science > Computer Science and Software Engineering|
|Item Type:||Thesis (Masters)|
|Pagination:||vii, 154 leaves : ill. ; 29 cm.|
|Degree Name:||M. Comp. Sc.|
|Program:||Computer Science and Software Engineering|
|Thesis Supervisor(s):||Grogono, Peter|
|Deposited By:||Concordia University Libraries|
|Deposited On:||18 Aug 2011 18:16|
|Last Modified:||04 Nov 2016 23:58|
Repository Staff Only: item control page