我正在创建一个程序(可执行文件),允许用户使用图形并在其上执行算法。基本上,用户应该能够创建一个新算法,例如对 Dijkstra 算法的修改,并在图表上进行尝试。但是,我不确定对此进行编程的最佳方法是什么。
目前我正在考虑允许用户编写 java 代码并将其保存在单独的目录中。但是,我不知道这是否可行,因为您必须在执行程序时实时编译 Java 代码。这种方法可行吗?
另一种方法是创建一个解释器并允许用户编写伪代码,然后将其保存并转换为程序可以理解的内容。但是,如果可以完成前一种方法,则可能比这种方法更容易。
第一种方法可行吗?如果是这样,它比第二个好吗?或者有更简单的方法吗?
最佳答案
您可以使用现有的解释器,而不是创建解释器并重新发明轮子,例如:
对于这些库中的每一个,您都可以选择将一些类作为变量公开给底层语言。
关于Java 让用户创建和执行算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152108/