我有一个特定领域语言的语法,我需要为该语言创建一个javascript代码编辑器。有没有任何工具可以让我生成 a)javascript增量解析器 b)javascript自动完成/自动建议引擎?
谢谢!
答案 0 :(得分:4)
实施内容辅助的示例(自动完成) 使用 Chevrotain Javascript解析DSL :
https://github.com/SAP/chevrotain/tree/master/examples/parser/content_assist
Chevrotain专门用于构建编辑器/ IDE中使用的解析器(作为部分)语言服务工具。 一些相关的功能是:
答案 1 :(得分:3)
您可能需要jison,一个js解析器生成器。在自动完成/自动建议......大多数东西我知道更多基于单词完成而不是代码完成。但是一旦你有一个解析器运行我不认为那部分太难了..
答案 2 :(得分:1)
这很难。我自己也在做同样的事情。
一种方法是:
你需要的是一个解析器,它将为你提供一个当前可能的文本AST数组,直到当前光标位置之前的标记。
从那里你可以看到下一个标记可以是多种类型(通常只有一种),并根据部分文本完成。
如果我的增量解析器工作正常,我会发送一个链接。
祝你好运,如果你找到一个这样做的包裹,请告诉我。
克里斯。