从 PEG.js 语法生成 TextMate 语言语法

17
有没有一种工具可以将 PEG.js 语法转换为 TextMate 语法?
我正在构建自己的语言,并希望在我喜欢的编辑器 TextMate 中为其提供语法高亮。我的语言语法是使用 PEG.js 构建的。根据 TextMate 文档 的使用说明,我必须以与 PEG.js 不兼容的形式编写 TextMate 语法。
我开始编写新的 TextMate 语法,但很快就注意到翻译整个语法,甚至是适合可接受的语法高亮的子集需要相当长的时间。由于我非常懒惰,不想做这些繁琐的工作,所以我考虑自动化这个任务。
有人能够给我任何线索如何从 PEG.js 语法自动生成 TextMate 语法,或至少加快生成速度吗?

https://github.com/alexstrat/PEGjs.tmbundle - Rachel Gallen
5
这个捆绑包仅为 PEG.js 语法文件添加语法突出显示。我想要的是针对使用 PEG.js 语法定义的语言编写的文件进行语法突出显示。 - Manuel Leuenberger
不幸的是,这将会很困难 - TextMate 使用模式,而 PEG.js 使用基于字节的比较。 - Qix - MONICA WAS MISTREATED
1个回答

3
有人能给我一些线索,如何自动化或者至少加快从 PEG.js 语法生成 TextMate 语法的过程吗?
请使用以下过程:
- 理解正则表达式 - 理解 Parsing Expression Grammars(PEG) - 基于相似性创建映射表 - 基于差异性创建函数
参考资料:
- Problems with an ambiguous grammar and PEG.js (no examples found) - What is the best way to define grammars for a text editor? - What are the differences between PEGs and CFGs?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接