我有一个简单的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();
答案 0 :(得分:2)
超出非常简单的语法的语言的最佳工具/框架是使用ANTLR。它是一个功能齐全的词法分析器+解析器组合,出色的Java集成,以及大量具有良好文档的示例。
要意识到这不是一个琐碎的项目来做对。如果时间有限,您应该使用现有语言
答案 1 :(得分:1)
最好的解决方案是重用一个现有的Java脚本语言;例如BeanShell。实现自己的脚本语言将是一项非常重要的工作。如果你从未做过任何语言设计和实现工作,那么结果可能会“低于恒星”。
也许,他们可以使用netbean的IDE来编写脚本。
期望您的应用程序用户(特别是非程序员)安装和使用特定的IDE听起来真的很糟糕。
...可以翻译成Java代码。
转换为Java代码也会使事情变得复杂。使用静态类型化方法调用和(仅在必要时)Java反射API的组合,解释脚本语言和访问Java API可能更好。