是否有适用于 Javascript 或 PHP 的解析表达式语法 (PEG) 库?

发布于 2024-07-05 13:29:56 字数 222 浏览 9 评论 0原文

我发现自己对描述领域特定语言的解析表达式语法形式很感兴趣,但到目前为止,我发现的实现代码是用 Java 和 Haskell 等语言编写的,这些语言在我的组织的共享托管环境中对 Web 服务器不友好必须忍受。

有谁知道适用于 Javascript 或 PHP 的 PEG 库或 PackRat 解析器生成器吗? 当然,任何可以生成 Javascript 或 PHP 源代码的语言的代码生成器都可以做到这一点。

I find myself drawn to the Parsing Expression Grammar formalism for describing domain specific languages, but so far the implementation code I've found has been written in languages like Java and Haskell that aren't web server friendly in the shared hosting environment that my organization has to live with.

Does anyone know of any PEG libraries or PackRat Parser Generators for Javascript or PHP? Of course code generators in any languages that can produce Javascript or PHP source code would do the trick.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

倚栏听风 2024-07-12 13:29:56

我最近编写了 PEG.js,这是一个基于 PEG 的 JavaScript 解析器生成器。 它可以从命令行使用,也可以从浏览器尝试。

I have recently written PEG.js, PEG-based parser generator for JavaScript. It can be used from a command-line or you can try it from your browser.

羁拥 2024-07-12 13:29:56

事实上,有一个适用于 Javascript 的工具:OMeta。 http://www.tinlizzie.org/ometa/

我还在Python中实现了这个版本: http://github.com/python-parsley/parsley

There is in fact one for Javascript: OMeta. http://www.tinlizzie.org/ometa/

I also implemented a version of this in Python: http://github.com/python-parsley/parsley

妄想挽回 2024-07-12 13:29:56

php PEG (这是一个维护的分支)

这篇文章确实很旧,但我找到了它通过谷歌,应该已经得到答复

There is php PEG (this is a maintained fork)

This post is really old but I found it through Google, and It should have been answered

小女人ら 2024-07-12 13:29:56

Language.js

Language.js 是一个基于 PEG(解析表达式语法)的开源实验性新型解析器,特别添加了“顽皮的 OR”运算符,以独特的新方式处理错误。 它利用记忆来实现线性时间解析速度

Language.js:

Language.js is an open source experimental new parser based on PEG (Parsing Expression Grammar), with the special addition of the "naughty OR" operator to handle errors in a unique new way. It makes use of memoization to achieve linear time parsing speed

圈圈圆圆圈圈 2024-07-12 13:29:56

看看https://github.com/leblancmeneses/NPEG可以轻松转换成php。
解析树是用匿名函数创建的。

look at https://github.com/leblancmeneses/NPEG can easily be converted into php.
Parse tree is created with anonymous functions.

赠意 2024-07-12 13:29:56

还有用于 JavaScript 的 Kouprey,这是一个非常易于使用的 PEG 生成器/库。

There's also Kouprey for JavaScript, which is a very easy to use PEG generator/library.

薯片软お妹 2024-07-12 13:29:56

你看过ANTLR吗?它生成词法分析器和解析器代码,处理抽象语法树,允许您插入要注入到词法分析器/解析器代码中的语法代码,并且它可用于多种语言!

Have you looked at ANTLR? It produces lexer and parser code, handles abstract syntax trees, lets you insert code the grammar to be injected into the lexer/parser code, and its available for a variety of languages!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文