diff --git a/lib/cli.js b/lib/cli.js index 338a23827..7a0c58877 100755 --- a/lib/cli.js +++ b/lib/cli.js @@ -68,7 +68,7 @@ cli.main = function cliMain(opts) { function processGrammar(raw, lex, opts) { var grammar, parser; - grammar = cli.processGrammars(raw, lex, opts.json); + grammar = cli.processGrammars(raw, lex, opts.json, opts.debug); parser = cli.generateParserString(opts, grammar); return parser; } @@ -154,7 +154,7 @@ cli.generateParserString = function generateParserString(opts, grammar) { return generator.generate(settings); }; -cli.processGrammars = function processGrammars(file, lexFile, jsonMode) { +cli.processGrammars = function processGrammars(file, lexFile, jsonMode, debugMode) { "use strict"; lexFile = lexFile || false; jsonMode = jsonMode || false; @@ -168,6 +168,9 @@ cli.processGrammars = function processGrammars(file, lexFile, jsonMode) { grammar = ebnfParser.parse(file); } } catch (e) { + if (debugMode === true) { + console.log(e); + } throw new Error('Could not parse jison grammar'); } try { @@ -175,6 +178,9 @@ cli.processGrammars = function processGrammars(file, lexFile, jsonMode) { grammar.lex = require('lex-parser').parse(lexFile); } } catch (e) { + if (debugMode === true) { + console.log(e); + } throw new Error('Could not parse lex grammar'); } return grammar;