Search code examples
perlprologdsldcg

Prolog as a DSL to generate perl code?


Does anyone know of any examples of code written in prolog to implement a DSL to generate perl code?


Solution

  • DCGs might be an excellent choice!

    I have used a similar approach for generation of UML class diagrams (really, graphviz code for such diagrams) from simple English sentences (shameless-plug: paper here). It should be possible to do something similar with generation of Perl code instead.

    In the paper above, we use a constraint store (CHR) as intermediate representation which allows some extra reasoning power. Alternatively you can build a representation as an output feature/argument of the DCG.

    Note that DCGs can be useful both for the parsing of your sentences and the generation of your Perl code.