如何在 .NET 项目中包含解释器
本文关键字:包含 解释器 项目 NET | 更新日期: 2023-09-27 18:34:53
我希望制作一个教育工具,用于青少年代码俱乐部。
我的最终目标是制作一个基于规则的非图形DSL(以及随附的IDE(,以促进为在线游戏创建"机器人"。
不过现在,我只想使用一种既定的语言来模拟IDE。我在想Prolog,因为我熟悉它,它是基于规则的,但我并不太大惊小怪。
我在哪里:
- 我已经看到了几个我可以使用的很好的代码编辑组件。
- 我见过 Prolog.Net,我认为它可以以某种方式用于完成繁重的工作
我需要知道的:
- 如何运行在运行时已输入到文本框中的脚本?
如果很重要,我通常在Visual Studio中使用C#。
你看过 GOLD 解析器吗? 大约一年前,我在一个项目(为用户创建了一个DSL来定义自定义业务规则(中使用了它,它完成了我需要的。 您可以使用它定义自己的语法。
Visual Studio本身是一个相当不错的代码编辑组件(你甚至可以把它与你的包一起提供,见Isolated Shell
(。为它实现语言扩展相对容易。解析Prolog是微不足道的,即使使用临时解析器,您也不必使用任何重量级解析器生成器。
如果你要实现自己的Prolog或基于Prolog的语言,请阅读这个精彩的教程:http://wambook.sourceforge.net/