SPLPrime IDE
Context
The M. Sc. course in Compiler Construction includes exercises for all necessary parts to implement an interpreter for the fictitious language SPL’. In its current form, the exercises as well as their solutions are solely command-line based. SPL’ covers variable initializations for numbers (integer/double) and strings as well as common control-structures like if-statements, while-loops and blocks. Moreover, it also includes a “print” statement.
Motivation
We’d like to have a fully functional mini-IDE for the SPL’ Language that can be utilized in the Compiler Construction course. The main motivation behind this project is to have a base for future seminar works in Software Engineering for students who would like to enhance the capabilities of the language/IDE. Future work could for example include enhancing SPL’ with function declarations and code optimization, as well as work regarding the IDE.
Goal
For the language SPL’ we’d like to have a student who builds a fully functional mini-IDE around it, that fulfills the following requirements:
- Debugging: By setting breakpoints at certain lines in the editor, the user should have the option to conduct a type inspection at the breakpoint.
- Expandability of the language: Inclusion of other .spl files in the program, comparable to the “require” keyword in PHP.
- Project structure: User should have the option to create SPL’ projects over the UI. The created projects should include a configuration file in which, for example, the name of the main file is declared.
- Architecture of the software should easily allow further expansion like new functionalities and designs.
- A detailed developer documentation that explains in particular how the IDE can be extended with additional functionalities.
Requirements
A solid knowledge in Software Architecture as well as in Java, including GUI-Frameworks like Java Swing or JavaFX.
Pointers
Course (MSc) in Compiler Construction
Contact
Prof. Dr. Timo Kehrer, timo.kehrer@unibe.ch