node_modules

This commit is contained in:
saeid
2019-07-15 13:07:31 +04:30
parent d3735c6d30
commit ce1a3ebf9c
35713 changed files with 3639219 additions and 1 deletions
@@ -0,0 +1,35 @@
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
'use strict';
/**
* A regexp-tree plugin to replace `a+` to `aa*`, since NFA/DFA
* handles Kleene-closure `a*`, and `a+` is just a syntactic sugar.
*/
module.exports = {
Repetition: function Repetition(path) {
var node = path.node,
parent = path.parent;
if (node.quantifier.kind !== '+') {
return;
}
if (parent.type === 'Alternative') {
path.getParent().insertChildAt(node.expression, path.index);
} else {
path.replace({
type: 'Alternative',
expressions: [node.expression, node]
});
}
// Change quantifier.
node.quantifier.kind = '*';
}
};
@@ -0,0 +1,10 @@
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
'use strict';
module.exports = [
// a+ -> aa*
require('./char-plus-to-star-transform')];