5

有谁知道用 prolog 编写的代码示例以实现 DSL 以生成 perl 代码?

4

4 回答 4

4

DCG 可能是个不错的选择!

我已经使用类似的方法从简单的英语句子(无耻插件:paper here )生成 UML 类图(实际上是此类图的 graphviz 代码)。应该可以通过生成 Perl 代码来做类似的事情。

在上面的论文中,我们使用约束存储(CHR)作为中间表示,它允许一些额外的推理能力。或者,您可以将表示构建为 DCG 的输出特征/参数。

请注意,DCG 可用于解析句子和生成 Perl 代码。

于 2011-02-25T20:48:18.800 回答
3

好吧,不完全是你所要求的,但也许你可以使用AI::Prolog来寻找你想要的东西。这样您就可以使用 Perl 并生成您想要的 Perl 代码。

于 2011-02-22T21:51:56.377 回答
1

SWI-Prolog库(http/html_write)库构建在 DCG 之上,是用于页面布局的 DSL。

它展示了一个很好的集成 Prolog 和 HTML 的模型,但并没有试图涵盖整个问题。客户端的“剩余逻辑”仍未明确,但这是合理的,面向 RDF“报告”的实际问题。

因此,“小细节”客户端交互逻辑以“黑盒”方式处理,并且对已发布应用程序中的 YUI 组件(获奖者Cliopatria)也是如此。

该库是可扩展的,但非常详细,我想对于您的任务,您最终应该重用背后的想法。

于 2011-12-22T11:25:00.040 回答
1

我不知道你为什么要这样做?

Perl 是一种表达能力很强的语言,我不确定你为什么要尝试从 Prolog 生成 Perl 代码;为了使它有用,你会在你的“DSL”中越来越接近 Perl,到那时你最好只写一些 Perl,确定吗?

我认为您需要稍微扩展这个问题,以更详细地涵盖您想要实现的目标。

于 2011-02-22T12:59:17.673 回答