Skip to content

Instantly share code, notes, and snippets.

@janvarev
janvarev / sexp-with-__.peg
Last active April 11, 2016 09:58 — forked from nightscape/sexp.peg
S-Expression grammar for PEG.js
/*
* Grammar to generate an S-Expressions parser for Javascript using http://pegjs.majda.cz/
* Example: (+ 1 2) (car (quote (1 2 "test")))
* Features:
- backslash symbols ("quote\"here"),
- one-line comments starts from ";"
- add "__" for identifiers - convert (car (quote (1 2 "three"))) to ["__car",["__quote",[1,2,"three"]]]
-- to change behavior replace
return "__"+identifier.map(function(a) {return concat(a)}).join("");