在Haskell中编写Perl代码生成器有哪些步骤?

Mic*_*ard 2 haskell code-generation

鉴于Perl 5不符合BNF,我对如何思考这个问题感到茫然.有人可以提出一些建议让我以正确的方式考虑这个问题吗?

Ira*_*ter 5

取决于你想要产生什么.

如果您希望生成的Perl代码符合一个BNF,那么你想清楚(正确),有一个解决办法:建立相应的Perl片段的树,然后prettyprint树.如果您坚持生成相同的语法(这可能由Perl模糊解释),这只会是一个问题.

您也可以简单地使用Perl代码的文本模板并填写插槽.如果您的代码生成器不必以复杂的方式组成碎片,这也可以正常工作.