在Java桌面应用程序中创建自己的脚本语言?

时间:2010-06-22 05:50:30

标签: java netbeans

我有一个简单的Web应用程序测试桌面应用程序。我想知道如何为它创建自己的脚本语言(域特定语言)。

这样做的目的是为非程序员提供非常直观的脚本,并能够定义用户场景特定的详细信息。

我希望这很清楚,基本上问题是,如何创建一个易于使用的脚本语言,可以将其翻译成Java代码。

也许,他们可以使用netbean的IDE来编写脚本。

对于前)

我的剧本:

load "http://www.google.com";
click "Search" button;

java代码:

browser.navigate("http://www.google.com";
browser.wait
browser.element("Search").click();

2 个答案:

答案 0 :(得分:2)

超出非常简单的语法的语言的最佳工具/框架是使用ANTLR。它是一个功能齐全的词法分析器+解析器组合,出色的Java集成,以及大量具有良好文档的示例。

要意识到这不是一个琐碎的项目来做对。如果时间有限,您应该使用现有语言

答案 1 :(得分:1)

最好的解决方案是重用一个现有的Java脚本语言;例如BeanShell。实现自己的脚本语言将是一项非常重要的工作。如果你从未做过任何语言设计和实现工作,那么结果可能会“低于恒星”。

  

也许,他们可以使用netbean的IDE来编写脚本。

期望您的应用程序用户(特别是非程序员)安装和使用特定的IDE听起来真的很糟糕。

  

...可以翻译成Java代码。

转换为Java代码也会使事情变得复杂。使用静态类型化方法调用和(仅在必要时)Java反射API的组合,解释脚本语言和访问Java API可能更好。