Karthik Senthil     About     Resume

[GSoC 2016] Translator system for ruby_curry

I had a discussion with my mentor regarding a translator system which would handle the frontend parsing of Curry source program into an intermediate form suitable for the ruby_curry compiler. We concluded that it would be a better option to use an already implemented library for this task, called ICurry.

This library translates Curry source program into an internal representation. The ICurry representation contains the operation rules in the format of nodes of a graph. From initial reviews it looks like there is more than sufficient information available in this graph for ruby_curry.

The current idea is to use this graph data structure to construct the Rule objects. These objects can then be compiled into the ruby object code by building corresponding definitional trees. I will be spending the next few days working on this module for ruby_curry.

Apart from this I added a TODO list to keep track of pending issues/features in the current state of the tool.