Posted on :: Tags: , , , ,

I return to my Ottoman language project from time to time, and most of the time I spend is spent trying to understand what I did previously. I decided that the actual parsing and simple morphological analysis modules should use Literate Programming with Markdown.

I am currently using Dart to rewrite the entire application, which is fundamentally simple. It receives words in Turkish or Ottoman and translates them to Ottoman or Turkish. However, the parsing module needs more rules to divide the words (and phrases) into roots and suffixes. There are hundreds of rules, and using only code to describe the reasoning behind parsing seems to be the main reason I spend so much time trying to understand my own work.

I decided that I can just use knot to write the rules in a document and generate the code from it. It will surely take more time than just writing the code, but in the end, I will have a document describing the analysis and parsing rules that even I can understand.