18

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.

7 Answers7

17

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.

David Majda
  • 213
  • 3
  • 6
10

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

Allen
  • 5,034
  • 22
  • 30
4

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

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

jcubic
  • 61,973
  • 54
  • 229
  • 402
2

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

ento
  • 5,801
  • 6
  • 51
  • 69
1

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

Phrogz
  • 296,393
  • 112
  • 651
  • 745
0

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

Kerem
  • 11,377
  • 5
  • 59
  • 58
-3

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!

Joe Skora
  • 14,735
  • 5
  • 36
  • 39