在vb.net中创建自己的解释器

时间:2011-03-16 06:00:11

标签: vb.net interpreter

我有一个Vb.net程序,这是一个财务应用程序。这是一个图表程序,意味着它加载股票市场数据并显示图表。我需要创建一个小型解释器,以便用户可以编写代码并执行。

例如如果用户想要应用移动平均线等技术工具,那么他可以输入,Dim M为Integer。 M = MovingAvg(“简单”,10)

像这样的东西,它应该支持诸如变量decl,数组之类的语句,用于下一个,do循环,计算如加,减,乘和&师。加上我的软件特有的其他声明。因为我没有构建独立的Windows应用程序,所以不需要更低级别或考虑exe术语。

在我开始之前,我想听取你们的意见。我应该怎么做以及我应该记住哪些重要的事情?

我确实考虑过像LUA这样的语言,我可以嵌入,但这是一个太多的任务加上Lua的编程风格对于非程序员来说会很复杂。这就是为什么我要坚持BASIC语言风格。

任何意见或建议或pdf(电子书)将被赞赏。

谢谢,

Greatchap

2 个答案:

答案 0 :(得分:0)

这是金融领域的常见要求。您将不得不使用“表达式评估”库。

其中一些是:

http://flee.codeplex.com/

http://www.codeproject.com/KB/recipes/eval3.aspx

答案 1 :(得分:0)

嵌入IronPython很容易。如果你真的想坚持使用类似vb的语言,那么你可以使用VB.NET本身来编写脚本 - Mono提供了一个托管的vb.net编译器实现。