yapp 5.1.335 → 5.1.337

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +54 -28
  2. package/lib/example/view/div/sizeable/left.js +2 -2
  3. package/lib/example/view/div/sizeable/top.js +2 -2
  4. package/lib/example/view/javascript.js +15 -11
  5. package/lib/plugin/javascript/bnf.js +282 -0
  6. package/lib/plugin/javascript/entries.js +36 -0
  7. package/lib/plugin/javascript/index.js +31 -0
  8. package/lib/plugin/javascript/lexer.js +38 -0
  9. package/lib/plugin/javascript/parser.js +33 -0
  10. package/lib/plugin/javascript/processor.js +82 -0
  11. package/lib/plugin/json/bnf.js +34 -0
  12. package/lib/plugin/json/entries.js +27 -0
  13. package/lib/plugin/json/index.js +31 -0
  14. package/lib/plugin/json/lexer.js +38 -0
  15. package/lib/plugin/json/parser.js +30 -0
  16. package/lib/plugin/json/processor.js +35 -0
  17. package/lib/plugin/plainText/bnf.js +18 -0
  18. package/lib/plugin/plainText/entries.js +18 -0
  19. package/lib/plugin/plainText/index.js +31 -0
  20. package/lib/plugin/plainText/lexer.js +38 -0
  21. package/lib/plugin/plainText/parser.js +30 -0
  22. package/lib/plugin/plainText/processor.js +26 -0
  23. package/lib/plugin/xml/bnf.js +58 -0
  24. package/lib/plugin/xml/entries.js +24 -0
  25. package/lib/plugin/xml/index.js +31 -0
  26. package/lib/plugin/xml/lexer.js +38 -0
  27. package/lib/plugin/xml/parser.js +30 -0
  28. package/lib/plugin/xml/processor.js +50 -0
  29. package/lib/utilities/plugin.js +1 -1
  30. package/package.json +7 -7
  31. package/src/example/view/div/sizeable/left.js +1 -1
  32. package/src/example/view/div/sizeable/top.js +1 -1
  33. package/src/example/view/javascript.js +16 -10
  34. package/src/{parser/javascript.js → plugin/javascript/bnf.js} +71 -81
  35. package/src/plugin/javascript/entries.js +27 -0
  36. package/src/plugin/{javascript.js → javascript/index.js} +5 -5
  37. package/src/{lexer/javascript.js → plugin/javascript/lexer.js} +1 -23
  38. package/src/plugin/javascript/parser.js +24 -0
  39. package/src/{processor/javascript.js → plugin/javascript/processor.js} +7 -7
  40. package/src/plugin/json/bnf.js +25 -0
  41. package/src/plugin/json/entries.js +18 -0
  42. package/src/plugin/{json.js → json/index.js} +5 -5
  43. package/src/{lexer/json.js → plugin/json/lexer.js} +1 -14
  44. package/src/plugin/json/parser.js +18 -0
  45. package/src/{processor/json.js → plugin/json/processor.js} +2 -2
  46. package/src/plugin/plainText/bnf.js +9 -0
  47. package/src/plugin/plainText/entries.js +9 -0
  48. package/src/plugin/{plainText.js → plainText/index.js} +5 -5
  49. package/src/{lexer/plainText.js → plugin/plainText/lexer.js} +1 -5
  50. package/src/{parser/plainText.js → plugin/plainText/parser.js} +3 -6
  51. package/src/{processor/plainText.js → plugin/plainText/processor.js} +1 -1
  52. package/src/{parser/xml.js → plugin/xml/bnf.js} +2 -14
  53. package/src/plugin/xml/entries.js +15 -0
  54. package/src/plugin/{xml.js → xml/index.js} +5 -5
  55. package/src/{lexer/xml.js → plugin/xml/lexer.js} +1 -11
  56. package/src/plugin/xml/parser.js +18 -0
  57. package/src/{processor/xml.js → plugin/xml/processor.js} +5 -5
  58. package/src/utilities/plugin.js +4 -4
  59. package/lib/lexer/javascript.js +0 -55
  60. package/lib/lexer/json.js +0 -46
  61. package/lib/lexer/plainText.js +0 -37
  62. package/lib/lexer/xml.js +0 -43
  63. package/lib/parser/javascript.js +0 -289
  64. package/lib/parser/json.js +0 -44
  65. package/lib/parser/plainText.js +0 -28
  66. package/lib/parser/xml.js +0 -68
  67. package/lib/plugin/javascript.js +0 -31
  68. package/lib/plugin/json.js +0 -31
  69. package/lib/plugin/plainText.js +0 -31
  70. package/lib/plugin/xml.js +0 -31
  71. package/lib/processor/javascript.js +0 -82
  72. package/lib/processor/json.js +0 -35
  73. package/lib/processor/plainText.js +0 -26
  74. package/lib/processor/xml.js +0 -50
  75. package/src/parser/json.js +0 -37
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const entries = [
12
+ {
13
+ "delimiter": "^(?:=|<\\?|\\?>|<\\/|\\/>|<!--|-->|<|>)"
14
+ },
15
+ {
16
+ "identifier": "^[a-zA-Z]+"
17
+ },
18
+ {
19
+ "unassigned": "^[^\\s]+"
20
+ }
21
+ ];
22
+ const _default = entries;
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4veG1sL2VudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwiZGVsaW1pdGVyXCI6IFwiXig/Oj18PFxcXFw/fFxcXFw/Pnw8XFxcXC98XFxcXC8+fDwhLS18LS0+fDx8PilcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJpZGVudGlmaWVyXCI6IFwiXlthLXpBLVpdK1wiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeW15cXFxcc10rXCJcclxuICB9XHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBlbnRyaWVzO1xyXG4iXSwibmFtZXMiOlsiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7QUFaQSxNQUFNQSxVQUFVO0lBQ2Q7UUFDRSxhQUFhO0lBQ2Y7SUFDQTtRQUNFLGNBQWM7SUFDaEI7SUFDQTtRQUNFLGNBQWM7SUFDaEI7Q0FDRDtNQUVELFdBQWVBIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return XMLPlugin;
9
+ }
10
+ });
11
+ const _plugin = /*#__PURE__*/ _interop_require_default(require("../../plugin"));
12
+ const _lexer = /*#__PURE__*/ _interop_require_default(require("../xml/lexer"));
13
+ const _parser = /*#__PURE__*/ _interop_require_default(require("../xml/parser"));
14
+ const _processor = /*#__PURE__*/ _interop_require_default(require("../xml/processor"));
15
+ const _languages = require("../../languages");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ class XMLPlugin extends _plugin.default {
22
+ static language = _languages.XML_LANGUAGE;
23
+ static Lexer = _lexer.default;
24
+ static Parser = _parser.default;
25
+ static Processor = _processor.default;
26
+ static fromNothing() {
27
+ return _plugin.default.fromNothing(XMLPlugin);
28
+ }
29
+ }
30
+
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4veG1sL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgUGx1Z2luIGZyb20gXCIuLi8uLi9wbHVnaW5cIjtcbmltcG9ydCBYTUxMZXhlciBmcm9tIFwiLi4veG1sL2xleGVyXCI7XG5pbXBvcnQgWE1MUGFyc2VyIGZyb20gXCIuLi94bWwvcGFyc2VyXCI7XG5pbXBvcnQgWE1MUHJvY2Vzc29yIGZyb20gXCIuLi94bWwvcHJvY2Vzc29yXCI7XG5cbmltcG9ydCB7IFhNTF9MQU5HVUFHRSB9IGZyb20gXCIuLi8uLi9sYW5ndWFnZXNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBYTUxQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xuICBzdGF0aWMgbGFuZ3VhZ2UgPSBYTUxfTEFOR1VBR0U7XG5cbiAgc3RhdGljIExleGVyID0gWE1MTGV4ZXI7XG5cbiAgc3RhdGljIFBhcnNlciA9IFhNTFBhcnNlcjtcblxuICBzdGF0aWMgUHJvY2Vzc29yID0gWE1MUHJvY2Vzc29yO1xuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHsgcmV0dXJuIFBsdWdpbi5mcm9tTm90aGluZyhYTUxQbHVnaW4pOyB9XG59XG4iXSwibmFtZXMiOlsiWE1MUGx1Z2luIiwiUGx1Z2luIiwibGFuZ3VhZ2UiLCJYTUxfTEFOR1VBR0UiLCJMZXhlciIsIlhNTExleGVyIiwiUGFyc2VyIiwiWE1MUGFyc2VyIiwiUHJvY2Vzc29yIiwiWE1MUHJvY2Vzc29yIiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBcUJBOzs7K0RBUEY7OERBQ0U7K0RBQ0M7a0VBQ0c7MkJBRUk7Ozs7OztBQUVkLE1BQU1BLGtCQUFrQkMsZUFBTTtJQUMzQyxPQUFPQyxXQUFXQyx1QkFBWSxDQUFDO0lBRS9CLE9BQU9DLFFBQVFDLGNBQVEsQ0FBQztJQUV4QixPQUFPQyxTQUFTQyxlQUFTLENBQUM7SUFFMUIsT0FBT0MsWUFBWUMsa0JBQVksQ0FBQztJQUVoQyxPQUFPQyxjQUFjO1FBQUUsT0FBT1QsZUFBTSxDQUFDUyxXQUFXLENBQUNWO0lBQVk7QUFDL0QifQ==
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return XMLLexer;
9
+ }
10
+ });
11
+ const _occamlexers = require("occam-lexers");
12
+ const _entries = /*#__PURE__*/ _interop_require_default(require("./entries"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ class XMLLexer extends _occamlexers.CommonLexer {
19
+ static entries = _entries.default;
20
+ static EndOfLineToken = _occamlexers.EndOfLineNonSignificantToken;
21
+ static WhitespaceToken = _occamlexers.WhitespaceToken;
22
+ static EndOfLineCommentToken = null;
23
+ static SingleLineCommentToken = null;
24
+ static RegularExpressionToken = null;
25
+ static EndOfMultiLineCommentToken = null;
26
+ static StartOfMultiLineCommentToken = null;
27
+ static MiddleOfMultiLineCommentToken = null;
28
+ static SinglyQuotedStringLiteralToken = null;
29
+ static DoublyQuotedStringLiteralToken = _occamlexers.DoublyQuotedStringLiteralToken;
30
+ static fromNothing() {
31
+ return _occamlexers.CommonLexer.fromNothing(XMLLexer);
32
+ }
33
+ static fromEntries(entries) {
34
+ return _occamlexers.CommonLexer.fromEntries(XMLLexer, entries);
35
+ }
36
+ }
37
+
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4veG1sL2xleGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIsIFdoaXRlc3BhY2VUb2tlbiwgRW5kT2ZMaW5lTm9uU2lnbmlmaWNhbnRUb2tlbiwgRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xyXG5cclxuaW1wb3J0IGVudHJpZXMgZnJvbSBcIi4vZW50cmllc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgWE1MTGV4ZXIgZXh0ZW5kcyBDb21tb25MZXhlciB7XHJcbiAgc3RhdGljIGVudHJpZXMgPSBlbnRyaWVzO1xyXG5cclxuICBzdGF0aWMgRW5kT2ZMaW5lVG9rZW4gPSBFbmRPZkxpbmVOb25TaWduaWZpY2FudFRva2VuOyAvLy9cclxuXHJcbiAgc3RhdGljIFdoaXRlc3BhY2VUb2tlbiA9IFdoaXRlc3BhY2VUb2tlbjtcclxuXHJcbiAgc3RhdGljIEVuZE9mTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBTaW5nbGVMaW5lQ29tbWVudFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIFJlZ3VsYXJFeHByZXNzaW9uVG9rZW4gPSBudWxsO1xyXG5cclxuICBzdGF0aWMgRW5kT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4gPSBudWxsO1xyXG5cclxuICBzdGF0aWMgU3RhcnRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBNaWRkbGVPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBTaW5nbHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4gPSBudWxsO1xyXG5cclxuICBzdGF0aWMgRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuID0gRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuO1xyXG5cclxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBDb21tb25MZXhlci5mcm9tTm90aGluZyhYTUxMZXhlcik7IH1cclxuXHJcbiAgc3RhdGljIGZyb21FbnRyaWVzKGVudHJpZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21FbnRyaWVzKFhNTExleGVyLCBlbnRyaWVzKTsgfVxyXG59XHJcbiJdLCJuYW1lcyI6WyJYTUxMZXhlciIsIkNvbW1vbkxleGVyIiwiZW50cmllcyIsIkVuZE9mTGluZVRva2VuIiwiRW5kT2ZMaW5lTm9uU2lnbmlmaWNhbnRUb2tlbiIsIldoaXRlc3BhY2VUb2tlbiIsIkVuZE9mTGluZUNvbW1lbnRUb2tlbiIsIlNpbmdsZUxpbmVDb21tZW50VG9rZW4iLCJSZWd1bGFyRXhwcmVzc2lvblRva2VuIiwiRW5kT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4iLCJTdGFydE9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiTWlkZGxlT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4iLCJTaW5nbHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4iLCJEb3VibHlRdW90ZWRTdHJpbmdMaXRlcmFsVG9rZW4iLCJmcm9tTm90aGluZyIsImZyb21FbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzZCQUpzRjtnRUFFdkY7Ozs7OztBQUVMLE1BQU1BLGlCQUFpQkMsd0JBQVc7SUFDL0MsT0FBT0MsVUFBVUEsZ0JBQU8sQ0FBQztJQUV6QixPQUFPQyxpQkFBaUJDLHlDQUE0QixDQUFDO0lBRXJELE9BQU9DLGtCQUFrQkEsNEJBQWUsQ0FBQztJQUV6QyxPQUFPQyx3QkFBd0IsS0FBSztJQUVwQyxPQUFPQyx5QkFBeUIsS0FBSztJQUVyQyxPQUFPQyx5QkFBeUIsS0FBSztJQUVyQyxPQUFPQyw2QkFBNkIsS0FBSztJQUV6QyxPQUFPQywrQkFBK0IsS0FBSztJQUUzQyxPQUFPQyxnQ0FBZ0MsS0FBSztJQUU1QyxPQUFPQyxpQ0FBaUMsS0FBSztJQUU3QyxPQUFPQyxpQ0FBaUNBLDJDQUE4QixDQUFDO0lBRXZFLE9BQU9DLGNBQWM7UUFBRSxPQUFPYix3QkFBVyxDQUFDYSxXQUFXLENBQUNkO0lBQVc7SUFFakUsT0FBT2UsWUFBWWIsT0FBTyxFQUFFO1FBQUUsT0FBT0Qsd0JBQVcsQ0FBQ2MsV0FBVyxDQUFDZixVQUFVRTtJQUFVO0FBQ25GIn0=
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return XMLParser;
9
+ }
10
+ });
11
+ const _occamparsers = require("occam-parsers");
12
+ const _bnf = /*#__PURE__*/ _interop_require_default(require("./bnf"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const { rulesFromBNF, parserFromRules } = _occamparsers.parserUtilities;
19
+ const rules = rulesFromBNF(_bnf.default);
20
+ class XMLParser extends _occamparsers.CommonParser {
21
+ static bnf = _bnf.default;
22
+ static fromNothing() {
23
+ return parserFromRules(XMLParser, rules);
24
+ }
25
+ static fromRules(rules) {
26
+ return _occamparsers.CommonParser.fromRules(XMLParser, rules);
27
+ }
28
+ }
29
+
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4veG1sL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCBibmYgZnJvbSBcIi4vYm5mXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSA9IHBhcnNlclV0aWxpdGllcztcblxuY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgWE1MUGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBwYXJzZXJGcm9tUnVsZXMoWE1MUGFyc2VyLCBydWxlcyk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVzKHJ1bGVzKSB7IHJldHVybiBDb21tb25QYXJzZXIuZnJvbVJ1bGVzKFhNTFBhcnNlciwgcnVsZXMpOyB9XG59XG4iXSwibmFtZXMiOlsiWE1MUGFyc2VyIiwicnVsZXNGcm9tQk5GIiwicGFyc2VyRnJvbVJ1bGVzIiwicGFyc2VyVXRpbGl0aWVzIiwicnVsZXMiLCJibmYiLCJDb21tb25QYXJzZXIiLCJmcm9tTm90aGluZyIsImZyb21SdWxlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFxQkE7Ozs4QkFUUTs0REFHYjs7Ozs7O0FBRWhCLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxlQUFlLEVBQUUsR0FBR0MsNkJBQWU7QUFFekQsTUFBTUMsUUFBUUgsYUFBYUksWUFBRztBQUVmLE1BQU1MLGtCQUFrQk0sMEJBQVk7SUFDakQsT0FBT0QsTUFBTUEsWUFBRyxDQUFDO0lBRWpCLE9BQU9FLGNBQWM7UUFBRSxPQUFPTCxnQkFBZ0JGLFdBQVdJO0lBQVE7SUFFakUsT0FBT0ksVUFBVUosS0FBSyxFQUFFO1FBQUUsT0FBT0UsMEJBQVksQ0FBQ0UsU0FBUyxDQUFDUixXQUFXSTtJQUFRO0FBQzdFIn0=
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return XMLProcessor;
9
+ }
10
+ });
11
+ const _occamquery = require("occam-query");
12
+ const _processor = /*#__PURE__*/ _interop_require_default(require("../../processor"));
13
+ const _name = /*#__PURE__*/ _interop_require_default(require("../../token/significant/name"));
14
+ const _error = /*#__PURE__*/ _interop_require_default(require("../../token/significant/error"));
15
+ const _comment = /*#__PURE__*/ _interop_require_default(require("../../token/significant/comment"));
16
+ const _attribute = /*#__PURE__*/ _interop_require_default(require("../../token/significant/attribute"));
17
+ function _interop_require_default(obj) {
18
+ return obj && obj.__esModule ? obj : {
19
+ default: obj
20
+ };
21
+ }
22
+ const nameTerminalNodeQuery = _occamquery.Query.fromExpressionString("//name/@*"), errorTerminalNodeQuery = _occamquery.Query.fromExpressionString("/*/error/@*"), attributeTerminalNodeQuery = _occamquery.Query.fromExpressionString("//attribute/@identifier"), commentNonTerminalNodeQuery = _occamquery.Query.fromExpressionString("//comment");
23
+ class XMLProcessor extends _processor.default {
24
+ process(tokens, node) {
25
+ if (node === null) {
26
+ return;
27
+ }
28
+ this.replaceTerminalNodesSignificantToken(tokens, node, (content)=>{
29
+ const token = _name.default;
30
+ return token;
31
+ }, nameTerminalNodeQuery);
32
+ this.replaceTerminalNodesSignificantToken(tokens, node, (content)=>{
33
+ const token = _error.default;
34
+ return token;
35
+ }, errorTerminalNodeQuery);
36
+ this.replaceTerminalNodesSignificantToken(tokens, node, (content)=>{
37
+ const token = _attribute.default;
38
+ return token;
39
+ }, attributeTerminalNodeQuery);
40
+ this.replaceNonTerminalNodesSignificantTokens(tokens, node, (content)=>{
41
+ const token = _comment.default;
42
+ return token;
43
+ }, commentNonTerminalNodeQuery);
44
+ }
45
+ static fromNothing() {
46
+ return _processor.default.fromNothing(XMLProcessor);
47
+ }
48
+ }
49
+
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4veG1sL3Byb2Nlc3Nvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcblxuaW1wb3J0IFByb2Nlc3NvciBmcm9tIFwiLi4vLi4vcHJvY2Vzc29yXCI7XG5pbXBvcnQgTmFtZVRva2VuIGZyb20gXCIuLi8uLi90b2tlbi9zaWduaWZpY2FudC9uYW1lXCI7XG5pbXBvcnQgRXJyb3JUb2tlbiBmcm9tIFwiLi4vLi4vdG9rZW4vc2lnbmlmaWNhbnQvZXJyb3JcIjtcbmltcG9ydCBDb21tZW50VG9rZW4gZnJvbSBcIi4uLy4uL3Rva2VuL3NpZ25pZmljYW50L2NvbW1lbnRcIjtcbmltcG9ydCBBdHRyaWJ1dGVUb2tlbiBmcm9tIFwiLi4vLi4vdG9rZW4vc2lnbmlmaWNhbnQvYXR0cmlidXRlXCI7XG5cbmNvbnN0IG5hbWVUZXJtaW5hbE5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiLy9uYW1lL0AqXCIpLFxuICAgICAgZXJyb3JUZXJtaW5hbE5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiLyovZXJyb3IvQCpcIiksXG4gICAgICBhdHRyaWJ1dGVUZXJtaW5hbE5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiLy9hdHRyaWJ1dGUvQGlkZW50aWZpZXJcIiksXG4gICAgICBjb21tZW50Tm9uVGVybWluYWxOb2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vY29tbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgWE1MUHJvY2Vzc29yIGV4dGVuZHMgUHJvY2Vzc29yIHtcbiAgcHJvY2Vzcyh0b2tlbnMsIG5vZGUpIHtcbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVwbGFjZVRlcm1pbmFsTm9kZXNTaWduaWZpY2FudFRva2VuKHRva2Vucywgbm9kZSwgKGNvbnRlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gTmFtZVRva2VuO1xuXG4gICAgICByZXR1cm4gdG9rZW47XG4gICAgfSwgbmFtZVRlcm1pbmFsTm9kZVF1ZXJ5KTtcblxuICAgIHRoaXMucmVwbGFjZVRlcm1pbmFsTm9kZXNTaWduaWZpY2FudFRva2VuKHRva2Vucywgbm9kZSwgKGNvbnRlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0gRXJyb3JUb2tlbjtcblxuICAgICAgcmV0dXJuIHRva2VuO1xuICAgIH0sIGVycm9yVGVybWluYWxOb2RlUXVlcnkpO1xuXG4gICAgdGhpcy5yZXBsYWNlVGVybWluYWxOb2Rlc1NpZ25pZmljYW50VG9rZW4odG9rZW5zLCBub2RlLCAoY29udGVudCkgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBBdHRyaWJ1dGVUb2tlbjtcblxuICAgICAgcmV0dXJuIHRva2VuO1xuICAgIH0sIGF0dHJpYnV0ZVRlcm1pbmFsTm9kZVF1ZXJ5KTtcblxuICAgIHRoaXMucmVwbGFjZU5vblRlcm1pbmFsTm9kZXNTaWduaWZpY2FudFRva2Vucyh0b2tlbnMsIG5vZGUsIChjb250ZW50KSA9PiB7XG4gICAgICBjb25zdCB0b2tlbiA9IENvbW1lbnRUb2tlbjtcblxuICAgICAgcmV0dXJuIHRva2VuO1xuICAgIH0sIGNvbW1lbnROb25UZXJtaW5hbE5vZGVRdWVyeSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBQcm9jZXNzb3IuZnJvbU5vdGhpbmcoWE1MUHJvY2Vzc29yKTsgfVxufVxuIl0sIm5hbWVzIjpbIlhNTFByb2Nlc3NvciIsIm5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJlcnJvclRlcm1pbmFsTm9kZVF1ZXJ5IiwiYXR0cmlidXRlVGVybWluYWxOb2RlUXVlcnkiLCJjb21tZW50Tm9uVGVybWluYWxOb2RlUXVlcnkiLCJQcm9jZXNzb3IiLCJwcm9jZXNzIiwidG9rZW5zIiwibm9kZSIsInJlcGxhY2VUZXJtaW5hbE5vZGVzU2lnbmlmaWNhbnRUb2tlbiIsImNvbnRlbnQiLCJ0b2tlbiIsIk5hbWVUb2tlbiIsIkVycm9yVG9rZW4iLCJBdHRyaWJ1dGVUb2tlbiIsInJlcGxhY2VOb25UZXJtaW5hbE5vZGVzU2lnbmlmaWNhbnRUb2tlbnMiLCJDb21tZW50VG9rZW4iLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFxQkE7Ozs0QkFiQztrRUFFQTs2REFDQTs4REFDQztnRUFDRTtrRUFDRTs7Ozs7O0FBRTNCLE1BQU1DLHdCQUF3QkMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsY0FDbkRDLHlCQUF5QkYsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsZ0JBQ3BERSw2QkFBNkJILGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLDRCQUN4REcsOEJBQThCSixpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQztBQUVoRCxNQUFNSCxxQkFBcUJPLGtCQUFTO0lBQ2pEQyxRQUFRQyxNQUFNLEVBQUVDLElBQUksRUFBRTtRQUNwQixJQUFJQSxTQUFTLE1BQU07WUFDakI7UUFDRjtRQUVBLElBQUksQ0FBQ0Msb0NBQW9DLENBQUNGLFFBQVFDLE1BQU0sQ0FBQ0U7WUFDdkQsTUFBTUMsUUFBUUMsYUFBUztZQUV2QixPQUFPRDtRQUNULEdBQUdaO1FBRUgsSUFBSSxDQUFDVSxvQ0FBb0MsQ0FBQ0YsUUFBUUMsTUFBTSxDQUFDRTtZQUN2RCxNQUFNQyxRQUFRRSxjQUFVO1lBRXhCLE9BQU9GO1FBQ1QsR0FBR1Q7UUFFSCxJQUFJLENBQUNPLG9DQUFvQyxDQUFDRixRQUFRQyxNQUFNLENBQUNFO1lBQ3ZELE1BQU1DLFFBQVFHLGtCQUFjO1lBRTVCLE9BQU9IO1FBQ1QsR0FBR1I7UUFFSCxJQUFJLENBQUNZLHdDQUF3QyxDQUFDUixRQUFRQyxNQUFNLENBQUNFO1lBQzNELE1BQU1DLFFBQVFLLGdCQUFZO1lBRTFCLE9BQU9MO1FBQ1QsR0FBR1A7SUFDTDtJQUVBLE9BQU9hLGNBQWM7UUFBRSxPQUFPWixrQkFBUyxDQUFDWSxXQUFXLENBQUNuQjtJQUFlO0FBQ3JFIn0=
@@ -45,4 +45,4 @@ function pluginFromProperties(properties) {
45
45
  return plugin;
46
46
  }
47
47
 
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGx1Z2luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgWE1MUGx1Z2luIGZyb20gXCIuLi9wbHVnaW4veG1sXCI7XG5pbXBvcnQgSlNPTlBsdWdpbiBmcm9tIFwiLi4vcGx1Z2luL2pzb25cIjtcbmltcG9ydCBQbGFpblRleHRQbHVnaW4gZnJvbSBcIi4uL3BsdWdpbi9wbGFpblRleHRcIjtcbmltcG9ydCBKYXZhU2NyaXB0UGx1Z2luIGZyb20gXCIuLi9wbHVnaW4vamF2YXNjcmlwdFwiO1xuXG5pbXBvcnQgeyBYTUxfTEFOR1VBR0UsIEpTT05fTEFOR1VBR0UsIFBMQUlOX1RFWFRfTEFOR1VBR0UsIEpBVkFTQ1JJUFRfTEFOR1VBR0UgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwbHVnaW5Gcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSB7XG4gIGxldCBQbHVnaW47XG5cbiAgKHsgUGx1Z2luID0gbnVsbCB9ID0gcHJvcGVydGllcyk7XG5cbiAgaWYgKFBsdWdpbiA9PT0gbnVsbCkge1xuICAgIGNvbnN0IHsgbGFuZ3VhZ2UgPSBudWxsIH0gPSBwcm9wZXJ0aWVzO1xuXG4gICAgc3dpdGNoIChsYW5ndWFnZSkge1xuICAgICAgY2FzZSBYTUxfTEFOR1VBR0U6IFBsdWdpbiA9IFhNTFBsdWdpbjsgYnJlYWs7XG4gICAgICBjYXNlIEpTT05fTEFOR1VBR0U6IFBsdWdpbiA9IEpTT05QbHVnaW47IGJyZWFrO1xuICAgICAgY2FzZSBKQVZBU0NSSVBUX0xBTkdVQUdFOiBQbHVnaW4gPSBKYXZhU2NyaXB0UGx1Z2luOyBicmVhaztcbiAgICAgIGNhc2UgUExBSU5fVEVYVF9MQU5HVUFHRTogUGx1Z2luID0gUGxhaW5UZXh0UGx1Z2luOyBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgUGx1Z2luID0gUGxhaW5UZXh0UGx1Z2luO1xuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBsdWdpbiA9IFBsdWdpbi5mcm9tTm90aGluZygpO1xuXG4gIHJldHVybiBwbHVnaW47XG59XG4iXSwibmFtZXMiOlsicGx1Z2luRnJvbVByb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiUGx1Z2luIiwibGFuZ3VhZ2UiLCJYTUxfTEFOR1VBR0UiLCJYTUxQbHVnaW4iLCJKU09OX0xBTkdVQUdFIiwiSlNPTlBsdWdpbiIsIkpBVkFTQ1JJUFRfTEFOR1VBR0UiLCJKYXZhU2NyaXB0UGx1Z2luIiwiUExBSU5fVEVYVF9MQU5HVUFHRSIsIlBsYWluVGV4dFBsdWdpbiIsInBsdWdpbiIsImZyb21Ob3RoaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTZ0JBOzs7ZUFBQUE7Ozs0REFQTTs2REFDQztrRUFDSzttRUFDQzsyQkFFeUQ7Ozs7OztBQUUvRSxTQUFTQSxxQkFBcUJDLFVBQVU7SUFDN0MsSUFBSUM7SUFFSCxDQUFBLEVBQUVBLFNBQVMsSUFBSSxFQUFFLEdBQUdELFVBQVM7SUFFOUIsSUFBSUMsV0FBVyxNQUFNO1FBQ25CLE1BQU0sRUFBRUMsV0FBVyxJQUFJLEVBQUUsR0FBR0Y7UUFFNUIsT0FBUUU7WUFDTixLQUFLQyx1QkFBWTtnQkFBRUYsU0FBU0csWUFBUztnQkFBRTtZQUN2QyxLQUFLQyx3QkFBYTtnQkFBRUosU0FBU0ssYUFBVTtnQkFBRTtZQUN6QyxLQUFLQyw4QkFBbUI7Z0JBQUVOLFNBQVNPLG1CQUFnQjtnQkFBRTtZQUNyRCxLQUFLQyw4QkFBbUI7Z0JBQUVSLFNBQVNTLGtCQUFlO2dCQUFFO1lBRXBEO2dCQUNFVCxTQUFTUyxrQkFBZTtnQkFFeEI7UUFDSjtJQUNGO0lBRUEsTUFBTUMsU0FBU1YsT0FBT1csV0FBVztJQUVqQyxPQUFPRDtBQUNUIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGx1Z2luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgWE1MUGx1Z2luIGZyb20gXCIuLi9wbHVnaW4veG1sXCI7IC8vL1xuaW1wb3J0IEpTT05QbHVnaW4gZnJvbSBcIi4uL3BsdWdpbi9qc29uXCI7IC8vL1xuaW1wb3J0IFBsYWluVGV4dFBsdWdpbiBmcm9tIFwiLi4vcGx1Z2luL3BsYWluVGV4dFwiOyAvLy9cbmltcG9ydCBKYXZhU2NyaXB0UGx1Z2luIGZyb20gXCIuLi9wbHVnaW4vamF2YXNjcmlwdFwiOyAvLy9cblxuaW1wb3J0IHsgWE1MX0xBTkdVQUdFLCBKU09OX0xBTkdVQUdFLCBQTEFJTl9URVhUX0xBTkdVQUdFLCBKQVZBU0NSSVBUX0xBTkdVQUdFIH0gZnJvbSBcIi4uL2xhbmd1YWdlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGx1Z2luRnJvbVByb3BlcnRpZXMocHJvcGVydGllcykge1xuICBsZXQgUGx1Z2luO1xuXG4gICh7IFBsdWdpbiA9IG51bGwgfSA9IHByb3BlcnRpZXMpO1xuXG4gIGlmIChQbHVnaW4gPT09IG51bGwpIHtcbiAgICBjb25zdCB7IGxhbmd1YWdlID0gbnVsbCB9ID0gcHJvcGVydGllcztcblxuICAgIHN3aXRjaCAobGFuZ3VhZ2UpIHtcbiAgICAgIGNhc2UgWE1MX0xBTkdVQUdFOiBQbHVnaW4gPSBYTUxQbHVnaW47IGJyZWFrO1xuICAgICAgY2FzZSBKU09OX0xBTkdVQUdFOiBQbHVnaW4gPSBKU09OUGx1Z2luOyBicmVhaztcbiAgICAgIGNhc2UgSkFWQVNDUklQVF9MQU5HVUFHRTogUGx1Z2luID0gSmF2YVNjcmlwdFBsdWdpbjsgYnJlYWs7XG4gICAgICBjYXNlIFBMQUlOX1RFWFRfTEFOR1VBR0U6IFBsdWdpbiA9IFBsYWluVGV4dFBsdWdpbjsgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIFBsdWdpbiA9IFBsYWluVGV4dFBsdWdpbjtcblxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBQbHVnaW4uZnJvbU5vdGhpbmcoKTtcblxuICByZXR1cm4gcGx1Z2luO1xufVxuIl0sIm5hbWVzIjpbInBsdWdpbkZyb21Qcm9wZXJ0aWVzIiwicHJvcGVydGllcyIsIlBsdWdpbiIsImxhbmd1YWdlIiwiWE1MX0xBTkdVQUdFIiwiWE1MUGx1Z2luIiwiSlNPTl9MQU5HVUFHRSIsIkpTT05QbHVnaW4iLCJKQVZBU0NSSVBUX0xBTkdVQUdFIiwiSmF2YVNjcmlwdFBsdWdpbiIsIlBMQUlOX1RFWFRfTEFOR1VBR0UiLCJQbGFpblRleHRQbHVnaW4iLCJwbHVnaW4iLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU2dCQTs7O2VBQUFBOzs7NERBUE07NkRBQ0M7a0VBQ0s7bUVBQ0M7MkJBRXlEOzs7Ozs7QUFFL0UsU0FBU0EscUJBQXFCQyxVQUFVO0lBQzdDLElBQUlDO0lBRUgsQ0FBQSxFQUFFQSxTQUFTLElBQUksRUFBRSxHQUFHRCxVQUFTO0lBRTlCLElBQUlDLFdBQVcsTUFBTTtRQUNuQixNQUFNLEVBQUVDLFdBQVcsSUFBSSxFQUFFLEdBQUdGO1FBRTVCLE9BQVFFO1lBQ04sS0FBS0MsdUJBQVk7Z0JBQUVGLFNBQVNHLFlBQVM7Z0JBQUU7WUFDdkMsS0FBS0Msd0JBQWE7Z0JBQUVKLFNBQVNLLGFBQVU7Z0JBQUU7WUFDekMsS0FBS0MsOEJBQW1CO2dCQUFFTixTQUFTTyxtQkFBZ0I7Z0JBQUU7WUFDckQsS0FBS0MsOEJBQW1CO2dCQUFFUixTQUFTUyxrQkFBZTtnQkFBRTtZQUVwRDtnQkFDRVQsU0FBU1Msa0JBQWU7Z0JBRXhCO1FBQ0o7SUFDRjtJQUVBLE1BQU1DLFNBQVNWLE9BQU9XLFdBQVc7SUFFakMsT0FBT0Q7QUFDVCJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yapp",
3
3
  "author": "James Smith",
4
- "version": "5.1.335",
4
+ "version": "5.1.337",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/yapp",
7
7
  "description": "Yapp;s Another Pretty Printer.",
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "easy": "^25.0.1",
14
14
  "easy-richtextarea": "^4.0.337",
15
- "easy-with-style": "^3.0.566",
15
+ "easy-with-style": "^3.0.567",
16
16
  "necessary": "^17.2.10",
17
- "occam-grammar-utilities": "^8.1.1",
18
- "occam-lexers": "^23.1.67",
19
- "occam-parsers": "^23.1.198",
20
- "occam-query": "^4.1.185"
17
+ "occam-grammar-utilities": "^8.1.3",
18
+ "occam-lexers": "^23.1.75",
19
+ "occam-parsers": "^23.1.201",
20
+ "occam-query": "^4.1.187"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@swc/core": "1.13.20",
24
24
  "esbuild": "0.11.14",
25
- "easy-layout": "^6.0.320",
25
+ "easy-layout": "^6.0.321",
26
26
  "express": "^4.17.1",
27
27
  "juxtapose": "^4.0.138",
28
28
  "lively-cli": "^3.0.3",
@@ -12,7 +12,7 @@ class LeftSizeableDiv extends SizeableDiv {
12
12
 
13
13
  export default withStyle(LeftSizeableDiv)`
14
14
 
15
- width: 80rem;
15
+ width: 120rem;
16
16
  min-width: 24rem;
17
17
 
18
18
  `;
@@ -12,7 +12,7 @@ class TopSizeableDiv extends SizeableDiv {
12
12
 
13
13
  export default withStyle(TopSizeableDiv)`
14
14
 
15
- height: 64rem;
15
+ height: 32rem;
16
16
  min-height: 12rem;
17
17
 
18
18
  `;
@@ -9,7 +9,21 @@ export default class JavaScriptView extends View {
9
9
 
10
10
  static firaCode = true;
11
11
 
12
- static initialContent = `"use strict";
12
+ static initialContent = `
13
+ withStyle\`
14
+
15
+ colour: #333;
16
+
17
+ \`.`;
18
+
19
+ static defaultProperties = {
20
+ className: "javascript"
21
+ };
22
+ };
23
+
24
+ /*
25
+
26
+ "use strict";
13
27
 
14
28
  import "juxtapose";
15
29
 
@@ -29,13 +43,5 @@ function simpleApplication(selector) {
29
43
  );
30
44
  }
31
45
 
32
- export default withStyle(simpleApplication)\`
33
-
34
- color: #333;
35
-
36
- \`;`;
37
46
 
38
- static defaultProperties = {
39
- className: "javascript"
40
- };
41
- };
47
+ */
@@ -1,92 +1,94 @@
1
1
  "use strict";
2
2
 
3
- import { CommonParser } from "occam-parsers";
4
- import { parserUtilities } from "occam-parsers";
5
- import { eliminateLeftRecursion } from "occam-grammar-utilities";
3
+ const bnf = `
4
+
6
5
 
7
- const { rulesFromBNF, parserFromRules } = parserUtilities;
6
+ `;
8
7
 
8
+ export default bnf;
9
+
10
+ /*
9
11
  const bnf = `
10
12
 
11
13
  javaScript ::= preamble? ( statement | function | class | error )* ;
12
14
 
13
15
 
14
- preamble ::= "\\"use strict\\";" ;
16
+ preamble ::= "\\"use strict\\""<NO_WHITESPACE>";" ;
15
17
 
16
18
 
17
19
  statement ::= statementBody... ";"
18
-
20
+
19
21
  | "{" ( statement | function )* "}"
20
-
22
+
21
23
  | "if" "(" expression... ")" statement ( "else" statement )?
22
-
24
+
23
25
  | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
24
-
26
+
25
27
  | ( "(" variable "in" expression... ")" statement )
26
-
28
+
27
29
  | ( "await"? "(" variable "of" expression... ")" statement ) )
28
-
30
+
29
31
  | "do" statement "while" "(" expression... ")"
30
-
32
+
31
33
  | "while" "(" expression... ")" statement
32
-
34
+
33
35
  | "switch" "(" expression... ")" "{" case* defaultCase? "}"
34
-
36
+
35
37
  | try ( ( catch* finally ) | catch+ )
36
-
38
+
37
39
  ;
38
40
 
39
41
 
40
42
  class ::= ( "export" "default"? )? "class" name classBody
41
-
43
+
42
44
  | "export" "default" "class" classBody
43
-
45
+
44
46
  ;
45
47
 
46
48
 
47
- function ::= ( "export" "default"? )? "async"? "function" name functionBody
48
-
49
+ function ::= ( "export" "default"? )? "async"? "function" name functionBody
50
+
49
51
  | "export" "default" "async"? "function" functionBody
50
-
52
+
51
53
  ;
52
54
 
53
55
 
54
56
  statementBody ::= "import" ( [string-literal]
55
57
 
56
58
  | ( name "from" [string-literal] )
57
-
59
+
58
60
  | ( "{" names "}" "from" [string-literal] )
59
-
61
+
60
62
  | ( "*" "as" name "from" [string-literal] ) )
61
-
63
+
62
64
  | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
63
-
65
+
64
66
  | ( "const" "{" fields "}" "=" expression )
65
-
67
+
66
68
  | ( "{" "default" "}" "from" [string-literal] )
67
-
69
+
68
70
  | ( "*" ( "as" name )? "from" [string-literal] ) )
69
-
71
+
70
72
  | "export"? ( ( "var" var ( "," var )* )
71
-
73
+
72
74
  | ( "let" let ( "," let )* )
73
-
75
+
74
76
  | ( "const" const ( "," const )* ) )
75
-
77
+
76
78
  | ( "export" "default" )? expression
77
-
79
+
78
80
  | "return" ( ( "(" expression ")" ) | expression? )
79
-
81
+
80
82
  | "throw" expression
81
-
83
+
82
84
  | "delete" expression
83
-
85
+
84
86
  | "break"
85
-
87
+
86
88
  | "continue"
87
-
89
+
88
90
  | "debugger"
89
-
91
+
90
92
  ;
91
93
 
92
94
 
@@ -135,64 +137,64 @@ const bnf = `
135
137
  destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
136
138
 
137
139
  | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
138
-
140
+
139
141
  ;
140
142
 
141
143
 
142
144
  expression ::= jsx
143
145
 
144
146
  | json
145
-
147
+
146
148
  | arrowFunction
147
-
149
+
148
150
  | templateLiteral
149
-
151
+
150
152
  | anonymousFunction
151
-
153
+
152
154
  | "(" expression ")"
153
-
155
+
154
156
  | "{" ( property ( "," property )* )? "}"
155
-
157
+
156
158
  | "[" ( expression ( "," expression )* ","? )? "]"
157
-
159
+
158
160
  | "typeof" ( expression | ( "(" expression ")") )
159
-
161
+
160
162
  | "void" ( expression | ( "(" expression ")") )
161
-
163
+
162
164
  | "new" name<NO_WHITESPACE>"(" expressions? ")"
163
-
165
+
164
166
  | [operator]<NO_WHITESPACE>expression
165
-
167
+
166
168
  | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
167
-
169
+
168
170
  | ( "[" expressions "]" )
169
-
171
+
170
172
  | ( "(" expressions? ")" )
171
-
173
+
172
174
  | templateLiteral
173
-
175
+
174
176
  | [operator] )
175
-
177
+
176
178
  | expression ( ( [operator] expression )
177
-
179
+
178
180
  | ( "?" expression ":" expression )
179
-
181
+
180
182
  | ( "instanceof" expression )
181
-
183
+
182
184
  | ( "in" expression ) )
183
-
185
+
184
186
  | [number]
185
-
187
+
186
188
  | variable
187
-
189
+
188
190
  | primitive
189
-
191
+
190
192
  | importMeta
191
-
193
+
192
194
  | [string-literal]
193
-
195
+
194
196
  | "super" | "this" | "true" | "false" | "null" | "undefined"
195
-
197
+
196
198
  ;
197
199
 
198
200
 
@@ -224,7 +226,7 @@ const bnf = `
224
226
 
225
227
 
226
228
  arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
227
-
229
+
228
230
 
229
231
  templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
230
232
 
@@ -252,7 +254,7 @@ const bnf = `
252
254
 
253
255
  spreadArgument ::= "..."<NO_WHITESPACE>variable ;
254
256
 
255
-
257
+
256
258
  argument ::= variable ( "=" expression )? ;
257
259
 
258
260
 
@@ -266,20 +268,8 @@ const bnf = `
266
268
 
267
269
 
268
270
  error. ::= . ;
269
-
270
- `;
271
-
272
- let rules = rulesFromBNF(bnf);
273
271
 
274
- rules = eliminateLeftRecursion(rules); ///
275
-
276
- export default class JavaScriptParser extends CommonParser {
277
- static bnf = bnf;
278
-
279
- static fromNothing() { return parserFromRules(JavaScriptParser, rules); }
280
-
281
- static fromRules(rules) {
282
- rules = eliminateLeftRecursion(rules); ///
272
+ `;
283
273
 
284
- return CommonParser.fromRules(JavaScriptParser, rules); }
285
- }
274
+ export default bnf;
275
+ */
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ const entries = [
4
+ {
5
+ "delimiter": "^(?:`|\\$\\{|<\\/|\\/>)"
6
+ },
7
+ {
8
+ "number": "^-?[1-9][0-9]*(\\.[0-9]+)?"
9
+ },
10
+ {
11
+ "special": "^(?:;|:|,|=>|\\?|\\{|\\}|\\[|\\]|\\(|\\)|\\\\`)"
12
+ },
13
+ {
14
+ "operator": "^(?:&=|>>>=|>>=|<<=|-=|\\.\\.\\.|\\.|\\*\\*=|\\*=|\\+=|\\/=|\\^=|\\|===|==|=|!==|%=|>=|<=|>>>|>>|<<|>|<|=|%|&&|&|~|!|--|-|\\^|\\|\\||\\||\\+\\+|\\*\\*|\\+|\\*|\\/)"
15
+ },
16
+ {
17
+ "keyword": "^(?:import|export|default|var|let|const|function|class|extends|constructor|static|break|return|continue|if|else|switch|case|throw|try|catch|finally|instanceof|typeof|async|await|do|while|for|in|of|as|new|this|super|delete|undefined|null|true|false|void|meta|debugger)\\b"
18
+ },
19
+ {
20
+ "identifier": "^[a-zA-Z_]+"
21
+ },
22
+ {
23
+ "unassigned": "^[^\\s]+"
24
+ }
25
+ ];
26
+
27
+ export default entries;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import Plugin from "../plugin";
4
- import JavaScriptLexer from "../lexer/javascript";
5
- import JavaScriptParser from "../parser/javascript";
6
- import JavaScriptProcessor from "../processor/javascript";
3
+ import Plugin from "../../plugin";
4
+ import JavaScriptLexer from "../javascript/lexer";
5
+ import JavaScriptParser from "../javascript/parser";
6
+ import JavaScriptProcessor from "../javascript/processor";
7
7
 
8
- import { JAVASCRIPT_LANGUAGE } from "../languages"
8
+ import { JAVASCRIPT_LANGUAGE } from "../../languages"
9
9
 
10
10
  export default class JavaScriptPlugin extends Plugin {
11
11
  static language = JAVASCRIPT_LANGUAGE;
@@ -11,29 +11,7 @@ import { CommonLexer,
11
11
  CStyleMiddleOfMultiLineCommentToken,
12
12
  EndOfLineCommentNonSignificantToken } from "occam-lexers";
13
13
 
14
- const entries = [
15
- {
16
- "delimiter": "^(?:`|\\$\\{|<\\/|\\/>)"
17
- },
18
- {
19
- "number": "^-?[1-9][0-9]*(\\.[0-9]+)?"
20
- },
21
- {
22
- "special": "^(?:;|:|,|=>|\\?|\\{|\\}|\\[|\\]|\\(|\\)|\\\\`)"
23
- },
24
- {
25
- "operator": "^(?:&=|>>>=|>>=|<<=|-=|\\.\\.\\.|\\.|\\*\\*=|\\*=|\\+=|\\/=|\\^=|\\|===|==|=|!==|%=|>=|<=|>>>|>>|<<|>|<|=|%|&&|&|~|!|--|-|\\^|\\|\\||\\||\\+\\+|\\*\\*|\\+|\\*|\\/)"
26
- },
27
- {
28
- "keyword": "^(?:import|export|default|var|let|const|function|class|extends|constructor|static|break|return|continue|if|else|switch|case|throw|try|catch|finally|instanceof|typeof|async|await|do|while|for|in|of|as|new|this|super|delete|undefined|null|true|false|void|meta|debugger)\\b"
29
- },
30
- {
31
- "identifier": "^[a-zA-Z_]+"
32
- },
33
- {
34
- "unassigned": "^[^\\s]+"
35
- }
36
- ];
14
+ import entries from "./entries";
37
15
 
38
16
  export default class JavaScriptLexer extends CommonLexer {
39
17
  static entries = entries;