是否有一个解析器生成器可以采用单一语法并在 c# 和 javascript 中创建解析器?
我尝试过使用 ANTLR,但我还没有将它放入 Visual Studio(乏善可陈/过时的文档和包)。
最终目标是我可以管理一个语法(对于 SQL 的子集;特别是 select 语句和一些特定于我的问题域的新关键字),但生成两个解析器 (c#/javascript)。
任何帮助深表感谢。
是否有一个解析器生成器可以采用单一语法并在 c# 和 javascript 中创建解析器?
我尝试过使用 ANTLR,但我还没有将它放入 Visual Studio(乏善可陈/过时的文档和包)。
最终目标是我可以管理一个语法(对于 SQL 的子集;特别是 select 语句和一些特定于我的问题域的新关键字),但生成两个解析器 (c#/javascript)。
任何帮助深表感谢。
是否有一个解析器生成器可以采用单一语法并在 c# 和 javascript 中创建解析器?
我唯一知道的是ANTLR。请注意,ANTLR 不会一次性生成基于 JavaScript 和 C# 的解析器。您将不得不(至少)更改语法中的一个选项并调用org.antlr.Tool
以为您的其他目标语言生成解析器。
我尝试过使用 ANTLR,但我还没有将它放入 Visual Studio
然后不要使用 Visual Studio,而是使用您最喜欢的文本编辑器(并org.antlr.Tool
从控制台使用)或 ANTLRWorks。
有canopy,它针对来自 PEG 的 javascript、ruby、java 和 python
docopt允许您在一个字符串中描述您的帮助消息,该字符串尊重一些常见的约定,这就是所有命令、选项和参数的定义方式。
Docopt 有许多官方实现:python、bash、C#、rust、ruby、C++、Go、R、Julia、Nim、Hashkell、PHP、C、F#、CoffeeScript、Swift、Scala、D、Java、Clojure、Tcl、Lua
我的 AGL 解析器构建器是用 Kotlin common 编写的,因此它可以用于任何 Kotlin 目标(JVM、JavaScript、本机代码等)。
不幸的是,Kotlin 还没有以 .net 为目标......但也许它会在未来出现。