javascript - 来自 PEG 的智能感知(解析表达式语法)

标签 javascript parsing peg

如果有人问过这个问题,我提前道歉。 我有一种由语法定义的语言,我想知道人们如何为他们的自定义语法实现 Intellisense。这对我来说似乎是机械的;用户键入一些内容,然后将其提供给生成的解析器,并提供关键字建议。我想解析需要修改,以便它是增量的而不是一次性的,即生成的解析器。

我是这个领域的新手,所以欢迎任何提示。

我打算使用 http://pegjs.majda.cz/但任何事情都可以。

最佳答案

有一个codemirror grammar add-on我曾为一些需要为各种自定义语言突出显示语法的项目编写过文章。

一个为任何语言定义一个 JSON 格式的语法(或者变体,因为 json 语法可以扩展其他 json 语法)并且附加组件自动创建一个 codemirror 解析器,它可以包括语法部分和语法错误,自动完成等等

参见 live example here

注意:附加组件中使用的 json 语法格式在很多方面类似于 PEG 语法形式(可能有更多选项)。但主要用于生成语法高亮解析器。该项目正在发展,将来可能会添加更多选项。

关于javascript - 来自 PEG 的智能感知(解析表达式语法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24700443/

相关文章:

php - 每当浏览器加载图标处于事件状态时显示加载图标

python - 奇怪的分隔符

parsing - 使用 Pest.rs,我如何指定要锚定和整行的评论?

javascript - 当键名具有数值时,JSON.parse() 是否真的对属性进行排序?

javascript - 使用 PEG.js 忽略空格

rust - 使用 Pest.rs 如何管理一行以 "\"结尾的多行语法?

javascript - AjaxFileUpload 语法错误 : missing } in XML expression

javascript - 显示不会根据所选选项而改变

javascript - 添加到数组中

php - 如何将 mysql 数组传递给 jquery php