@ -1139,44 +1139,44 @@ function generateJS(ast, options) {
}
}
function generateWrapper ( toplevelCode ) {
function generateWrapper ( toplevelCode ) {
var parts = [ ] ;
function generateIntro ( ) {
return [
parts . push ( [
'"use strict";' ,
'(function() {' ,
'' ,
' "use strict";' ,
'/*' ,
'' ,
' * Generated by PEG.js 0.9.0.' ,
' /*' ,
' *' ,
' * Generated by PEG.js 0.9.0.' ,
' * http://pegjs.org/' ,
' *' ,
' */'
' * http://pegjs.org/' ,
] . join ( '\n' ) ;
' */' ,
}
''
] . join ( '\n' ) ) ;
parts . push ( indent2 ( toplevelCode ) ) ;
parts . push ( [
'' ,
' return {'
] . join ( '\n' ) ) ;
if ( options . trace ) {
function generateParserObject ( ) {
parts . push ( [
return options . trace
' SyntaxError: peg$SyntaxError,' ,
? [
' DefaultTracer: peg$DefaultTracer,' ,
'{' ,
' parse: peg$parse'
' SyntaxError: peg$SyntaxError,' ,
] . join ( '\n' ) ) ;
' DefaultTracer: peg$DefaultTracer,' ,
} else {
' parse: peg$parse' ,
parts . push ( [
'}'
' SyntaxError: peg$SyntaxError,' ,
] . join ( '\n' )
' parse: peg$parse'
: [
] . join ( '\n' ) ) ;
'{' ,
' SyntaxError: peg$SyntaxError,' ,
' parse: peg$parse' ,
'}'
] . join ( '\n' ) ;
}
}
parts . push ( [
var parts = [ ] ;
' };' ,
'})()'
parts . push ( '(function() {' ) ;
] . join ( '\n' ) ) ;
parts . push ( indent2 ( generateIntro ( ) ) ) ;
parts . push ( '' ) ;
parts . push ( indent2 ( toplevelCode ) ) ;
parts . push ( '' ) ;
parts . push ( indent2 ( 'return ' + generateParserObject ( ) + ';' ) ) ;
parts . push ( '})()' ) ;
return parts . join ( '\n' ) ;
return parts . join ( '\n' ) ;
}
}