Title: Converting Hume programs to JSON format for use in programming support tools
Proposer: Hans-Wolfgang Loidl, Joe Wells
Suggested supervisors: Hans-Wolfgang Loidl, Joe Wells
Integrate Hume programs into JSON-based programming language tools.
Hume is an embedded systems language, providing guaranteed resource bounds on the heap space consumption and execution time of its programs. JSON is a widely-used data format for the exchange of data, with a rich tool-set for displaying, analysing and modifying data. The goal of this project is to modify the exisiting Hume compiler in such a way that it emits the abstract syntax tree of Hume programs in JSON format, which can then be used in one or more programming support tools such as source code search and cross-referencing tools (a.k.a., "tagging" systems, e.g., Exuberant Ctags, GNU Global, cscope, etc.) and syntax highlighting in editors. The project requires basic familiarity with Haskell, or another functional language, and a general interest in compiler design and programming language tools.
The steps in the project will be:
Resources required: Hume compiler and related tools
Degree of difficulty: moderate
Background needed: Haskell (implementation language for the Hume compiler) or another functional language, and a general interest in compiler design and programming language tools.
References: Hume page, JSON page