Skip to content

Commit

Permalink
[api] Overloaded kyuri.compile to take an AST or source Gherkin text
Browse files Browse the repository at this point in the history
  • Loading branch information
indexzero committed Sep 3, 2010
1 parent 4f8a52c commit 414f184
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
1 change: 0 additions & 1 deletion lib/kyuri.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ var kyuri = exports;
kyuri.version = '0.0.1';
kyuri.compile = require('kyuri/core').compile;
kyuri.parse = require('kyuri/core').parse;
kyuri.parseAST = require('kyuri/core').parseAST;
kyuri.tokens = require('kyuri/core').tokens;
kyuri.nodes = require('kyuri/core').nodes;
kyuri.setLanguage = require('kyuri/core').setLanguage;
Expand Down
12 changes: 6 additions & 6 deletions lib/kyuri/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,20 @@

var i18n = require('./i18n').i18n,
Lexer = require('./lexer').Lexer,
Parser = require('./parser').Parser;
Parser = require('./parser').Parser,
Generator = require('./generator').Generator;

var core = exports,
parser = new Parser(),
lexer = new Lexer('en', i18n);

exports.compile = function (code, options) {
var isText = typeof code === 'string', generator;
options = options || {};

try {
return (parser.parse(lexer.tokenize(code))).compile(options);
generator = isText ? parser.parse(lexer.tokenize(code)) : new (Generator)(code);
return generator.compile(options);
}
catch (err) {
if (options.fileName) {
Expand All @@ -30,10 +34,6 @@ exports.compile = function (code, options) {
}
};

exports.parseAST = function (ast) {
return parser.parse(ast);
};

exports.parse = function (code) {
return parser.parse(lexer.tokenize(code));
};
Expand Down

0 comments on commit 414f184

Please sign in to comment.