Course Projects
ProgrammingEnvironments
Eclipse
Extend Eclipse's Resource perspective with facilities for working with the
Nix software deployment system. In particular, the Navigator view should provide a list of available
*.nix files, and the Outline view should provide a summary of the structure of the selected
*.nix file. There should be actions added to add a component selected in the Outline view to the current user environment, to upgrade a component when a new release is available, and to roll back to a previous version of the user environment. Optionally, you might like to add a specialized editor for
*.nix files, and/or promote your work to a perspective or a feature.
Assigned to
EdwinVanRijkom and
LennartKats.
Proxima Based Form Editor
Use the
AG/
Proxima system to produce an editor for a language like that was designed by
Maarten de Heus
to describe structures like the Dutch tax forms. Such forms have:
- fields that may be named, like spreadsheet cells
- conditional questions, that may depend on computed values or answers given already
- a nested layout
- an editor for specifying questions
- optional: SQL queries that fill out specific values to be displayed
Assigned to
PatrickCamphuijsen RaymonVanWanrooij.
Plug-in mechanism for AG
The
AG system is a very simple system, and we do not want to extend it with all kind of bells and whistles. On the other hand, in order to be able to edit syntax trees with Proxima we have to add quite some rather straightforward code. These include special attributes to keep track of the identity of nodes, and unparsing rules. We propose to attack this problem by using
hs-Plugins, and by extending AG with a general mechanism for adding properties to all kind of AG objects. If someone then wants to transform the AG data before it is emitted as Haskell code, he can do so by providing his own plug-ins for AG. The primary goal of this project is design and build the plug-in system, and to demonstrate its use for generating Proxima based AG's.
Assigned to
IvayloGochkov and
ReinierVis.