@masala/parser
Version:
46 lines (32 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _genlex = require("../../lib/genlex/genlex");
var _parsec = require("../../lib/parsec");
var _stream = require("../../lib/stream");
var _stream2 = _interopRequireDefault(_stream);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
setUp: function setUp(done) {
done();
},
'expect Genlex to be easy to use ': function expectGenlexToBeEasyToUse(test) {
var genlex = new _genlex.GenLex();
var tkDate = genlex.tokenize(date(), 'date', 500);
var tkNumber = genlex.tokenize(_parsec.N.number(), 'number', 700);
var grammar = tkDate.then(tkNumber.rep());
var parser = genlex.use(grammar);
var parsing = parser.parse(_stream2.default.ofString('10/12/2013 34 23'));
test.ok(parsing.isAccepted());
test.done();
}
};
function date() {
return _parsec.N.digits().then(_parsec.C.charIn('-/').returns('-')).then(_parsec.N.digits()).then(_parsec.C.charIn('-/').returns('-')).then(_parsec.N.digits()).array().map(function (dateValues) {
return dateValues[4] > 2000 ? dateValues.reverse() : dateValues;
}).map(function (dateArray) {
return dateArray.join('');
});
}
//# sourceMappingURL=proposition.js.map