使用“ace”库添加新语言

时间:2016-02-12 12:13:25

标签: javascript regex antlr ace-editor

我是Ace的新手,我想添加一种新语言。

我创建了名为new_highlight_rules的文件,问题是我必须在此文件中添加令牌和相应的正则表达式,而且我的新语言非常复杂,所以我要添加很多正则表达式和规则。

我的问题是:如果我为ANTLR编写了我的语言语法,是否有一种实用的方法来添加正则表达式和令牌?没有使用ANTLR还有其他方法吗?

请我是新人,任何指导,甚至是非常基本的指导都可以帮助我。

1 个答案:

答案 0 :(得分:1)

如果Ace有一种编写与ANTLR词法分子不匹配的正则表达式,那么你可能需要手动翻译你的ANTLR正则表达式。

作为一般规则,我从未见过两个语言定义系统使用完全相同的语法来指定细节,所以我很确定你被卡住了。

由于这两种符号都是正式的,并且涵盖了基本相同的基础(词汇级别规范),您可以考虑构建翻译器来为您进行映射。这可能比简单地手工翻译更省力。 (是的,我是自动化工具的忠实粉丝。了解它们何时有用非常重要。)