Skip to content

Commit 8f81e6f

Browse files
committed
switch to esprima and escodegen so browserify will work
1 parent 3cf1d09 commit 8f81e6f

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
all: test
33

44
site:
5-
browserify -r ./lib/jison.js -a 'file:fs' -a 'system:util' --exports require | uglifyjs > web/content/assets/js/jison.js
5+
browserify entry.js --exports require | uglifyjs > web/content/assets/js/jison.js
66
cd web/ && nanoc compile
77
cp -r examples web/output/jison/
88

entry.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
Jison = require('./lib/jison.js');
3+
bnf = require('ebnf-parser');

lib/jison.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ var Set = require('./util/set').Set;
77
var Lexer = require('jison-lex');
88
var ebnfParser = require('ebnf-parser');
99
var JSONSelect = require('JSONSelect');
10-
var Reflect = require('reflect');
10+
var esprima = require('esprima');
11+
var escodegen = require('escodegen');
12+
1113

1214
var version = require('../package.json').version;
1315

@@ -959,12 +961,12 @@ lrGeneratorMixin.generateModule = function generateModule (opt) {
959961
function removeErrorRecovery (fn) {
960962
var parseFn = String(fn);
961963
try {
962-
var ast = Reflect.parse(parseFn);
964+
var ast = esprima.parse(parseFn);
963965

964966
var labeled = JSONSelect.match(':has(:root > .label > .name:val("_handle_error"))', ast);
965967
labeled[0].body.consequent.body = [labeled[0].body.consequent.body[0], labeled[0].body.consequent.body[1]];
966968

967-
return Reflect.stringify(ast).replace(/_handle_error:\s?/,"").replace(/\\\\n/g,"\\n");
969+
return escodegen.generate(ast).replace(/_handle_error:\s?/,"").replace(/\\\\n/g,"\\n");
968970
} catch (e) {
969971
return parseFn;
970972
}

package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
},
3131
"dependencies": {
3232
"JSONSelect": "0.4.0",
33-
"reflect": "0.0.7",
33+
"esprima": "1.0.x",
34+
"escodegen": "0.0.21",
3435
"jison-lex": "0.1.x",
3536
"ebnf-parser": "0.1.x",
3637
"lex-parser": "0.1.x",
@@ -40,7 +41,7 @@
4041
"test": "0.4.4",
4142
"jison": "0.4.x",
4243
"uglify-js": "1.3.3",
43-
"browserify": "*"
44+
"browserify": "2.x.x"
4445
},
4546
"scripts": {
4647
"test": "node tests/all-tests.js"

0 commit comments

Comments
 (0)