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

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

Are there any Parsing Expression Grammar (PEG) libraries for Javascript or PHP?

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

有没有人知道任何PEG库或PackRat解析器生成器的Javascript或PHP? 当然,任何语言的代码生成器都可以生成Javascript或PHP源代码。


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


实际上有一个用于Javascript:OMeta。 http://www.tinlizzie.org/ometa/

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


php PEG https://github.com/maetl/php-peg

这篇文章真的很老但我通过谷歌找到它,应该已经回答了


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


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


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


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


推荐阅读

    linux常用命令c语言?

    linux常用命令c语言?,系统,工作,信息,管理,基础,命令,地址,目录,简介,时间,li

    linux命令行设置语言?

    linux命令行设置语言?,系统,管理,环境,国家,工具,电脑,软件,文化,底部,语言,l

    linux使用命令改语言?

    linux使用命令改语言?,系统,工作,管理,电脑,设备,字符集,中文,命令,语言,虚

    c语言写linux命令?

    c语言写linux命令?,系统,工具,代码,智能,工作,环境,情况,位置,命令,文件,如何

    linux汇编语言命令?

    linux汇编语言命令?,系统,地址,代码,数据,网络,平台,平均,位置,灵活,工作,汇

    linux汇编语言命令?

    linux汇编语言命令?,系统,地址,代码,数据,网络,平台,平均,位置,灵活,工作,汇

    linux命令是什么语言?

    linux命令是什么语言?,系统,环境,代码,传播,管理,语言,操作系统,源码,自由,

    linux命令格式描述?

    linux命令格式描述?,地址,图片,系统,工作,命令,信息,设备,百分比,名字,首次,l

    linux改语言命令行?

    linux改语言命令行?,系统,环境,工具,密码,概念,地方,软件,通信,管理,国际,lin

    linux命令行c语言?

    linux命令行c语言?,代码,系统,工具,环境,工作,保险,发行,命令,文件,终端,linu

    c语言在linux命令?

    c语言在linux命令?,系统,工作,管理,命令,保险,基础,环境,信息,文件,语言,linu

    linux编写c语言命令?

    linux编写c语言命令?,系统,基础,环境,代码,盘面,保险,百度,情况,数据,工具,在

    linux命令正则表达式?

    linux命令正则表达式?,工作,环境,基础,网络,单位,名称,平台,信息,正规,管理,L

    linux改变语言命令?

    linux改变语言命令?,系统,管理,网上,官方网站,情况,服务,中文,语言,命令,终

    c语言编译linux命令?

    c语言编译linux命令?,代码,工具,环境,系统,基础,保险,百度,语言,源程序,文件

    linux中常用命令语法?

    linux中常用命令语法?,工作,地址,系统,信息,目录,标准,基础,命令,文件,常用

    linux命令描述中文?

    linux命令描述中文?,地址,系统,工作,信息,目录,命令,基础,工具,标准,文件,Lin

    linux常用命令语言?

    linux常用命令语言?,工作,地址,系统,信息,命令,目录,标准,管理,工具,服务,lin

    r语言命令行写linux?

    r语言命令行写linux?,环境,数据,系统,工具,简介,官网,语言,报告,软件,发展,如

    linux语言查找命令行?

    linux语言查找命令行?,系统,工作,位置,标准,地址,信息,命令,管理,时间,文件,