我发现自己被用于描述域特定语言的解析表达式语法形式主义所吸引,但到目前为止,我发现的实现代码是用 Java 和 Haskell 等语言编写的,这些语言在我的组织的共享托管环境中对 Web 服务器不友好不得不忍受。
有谁知道任何用于 Javascript 或 PHP 的 PEG 库或 PackRat 解析器生成器?当然,可以生成 Javascript 或 PHP 源代码的任何语言的代码生成器都可以解决问题。
我发现自己被用于描述域特定语言的解析表达式语法形式主义所吸引,但到目前为止,我发现的实现代码是用 Java 和 Haskell 等语言编写的,这些语言在我的组织的共享托管环境中对 Web 服务器不友好不得不忍受。
有谁知道任何用于 Javascript 或 PHP 的 PEG 库或 PackRat 解析器生成器?当然,可以生成 Javascript 或 PHP 源代码的任何语言的代码生成器都可以解决问题。
我最近编写了 PEG.js,一个基于 PEG 的 JavaScript 解析器生成器。它可以从命令行使用,也可以从浏览器中试用。
事实上,Javascript 有一个:OMeta。http://www.tinlizzie.org/ometa/
我还在 Python 中实现了这个版本:http: //github.com/python-parsley/parsley
php PEG https://github.com/maetl/php-peg
这个帖子很老了,但我是通过谷歌找到的,应该已经回答了
Language.js 是一个基于 PEG(Parsing Expression Grammar)的开源实验性新解析器,特别添加了“naughty OR”运算符,以独特的新方式处理错误。它利用 memoization 实现线性时间解析速度
还有用于 JavaScript 的Kouprey,它是一个非常易于使用的 PEG 生成器/库。
看看https://github.com/leblancmeneses/NPEG 可以很方便的转换成php。解析树是使用匿名函数创建的。
你看过ANTLR吗? 它生成词法分析器和解析器代码,处理抽象语法树,让您插入要注入词法分析器/解析器代码的语法代码,并且它可用于多种语言!