Browse Source

peg.generate: Implement { format: "global" }

redux
David Majda 5 years ago
parent
commit
db9920e3ca
  1. 7
      README.md
  2. 14
      lib/compiler/passes/generate-js.js

7
README.md

@ -144,9 +144,10 @@ object to `peg.generate`. The following options are supported:
`"umd"` (default: `{}`)
* `exportVar` — name of a global variable into which the parser object is
assigned to when no module loader is detected; valid only when `format` is
set to `"umd"` (default: `null`)
* `format` — format of the genreated parser (`"amd"`, `"bare"`, `"node"`, or
`"umd"`); valid only when `output` is set to `"source"` (default: `"bare"`)
set to `"global"` or `"umd"` (default: `null`)
* `format` — format of the genreated parser (`"amd"`, `"bare"`, `"global"`,
`"node"`, or `"umd"`); valid only when `output` is set to `"source"`
(default: `"bare"`)
* `optimize`— selects between optimizing the generated parser for parsing
speed (`"speed"`) or code size (`"size"`) (default: `"speed"`)
* `output` — if set to `"parser"`, the method will return generated parser

14
lib/compiler/passes/generate-js.js

@ -1326,6 +1326,20 @@ function generateJS(ast, options) {
].join('\n');
},
global: function() {
return [
generateGeneratedByComment(),
'(function(root) {',
' "use strict";',
'',
indent2(toplevelCode),
'',
indent2('root.' + options.exportVar + ' = ' + generateParserObject() + ';'),
'})(this);',
''
].join('\n');
},
umd: function() {
var parts = [],
dependencyIds = objects.values(options.dependencies),

Loading…
Cancel
Save