occam-furtle 2.0.61 → 2.0.63
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.
- package/example/customGrammars.json +4 -6
- package/lib/_occam-grammars/furtle/bnf.js +14 -0
- package/lib/_occam-grammars/furtle/entries.js +45 -0
- package/lib/_occam-grammars/furtle/lexer.js +148 -0
- package/lib/_occam-grammars/furtle/parser.js +134 -0
- package/lib/_occam-grammars/index.js +27 -0
- package/lib/_occam-grammars/utilities/lexers.js +43 -0
- package/lib/_occam-grammars/utilities/parsers.js +62 -0
- package/lib/context/file.js +2 -2
- package/lib/dom/assignment.js +6 -31
- package/lib/dom/procedureCall.js +6 -6
- package/lib/dom/query/node.js +5 -5
- package/lib/dom/query/nodes.js +5 -5
- package/lib/dom/reference.js +5 -5
- package/lib/dom/value.js +124 -25
- package/lib/dom/values.js +5 -5
- package/lib/example/utilities/furtle.js +2 -2
- package/lib/example.js +8 -8
- package/package.json +7 -4
- package/src/_occam-grammars/furtle/bnf.js +188 -0
- package/src/_occam-grammars/furtle/entries.js +36 -0
- package/src/_occam-grammars/furtle/lexer.js +43 -0
- package/src/_occam-grammars/furtle/parser.js +15 -0
- package/src/_occam-grammars/index.js +4 -0
- package/src/_occam-grammars/utilities/lexers.js +27 -0
- package/src/_occam-grammars/utilities/parsers.js +52 -0
- package/src/context/file.js +1 -1
- package/src/dom/assignment.js +8 -38
- package/src/dom/procedureCall.js +5 -5
- package/src/dom/query/node.js +3 -3
- package/src/dom/query/nodes.js +3 -3
- package/src/dom/reference.js +4 -4
- package/src/dom/value.js +143 -31
- package/src/dom/values.js +3 -3
- package/src/example/utilities/furtle.js +1 -1
- package/src/example.js +9 -10
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
{
|
|
3
3
|
"name": "Default",
|
|
4
4
|
"termBNF": "term. ::= \"(\" argument \")\"\n\n | variable \n \n ;",
|
|
5
|
-
"statementBNF": "statement. ::= \"(\" metaArgument \")\" \n \n | equality\n\n | typeAssertion \n \n | definedAssertion \n\n | containedAssertion
|
|
5
|
+
"statementBNF": "statement. ::= \"(\" metaArgument \")\" \n \n | equality\n\n | judgement\n\n | typeAssertion \n \n | definedAssertion \n\n | containedAssertion \n \n | satisfyingAssertion\n\n | subproofAssertion \n\n | propertyAssertion \n\n | metavariable ( frameSubstitution | termSubstitution )?\n\n ;\n\nequality ::= term \"=\" term ;\n\njudgement ::= frame \"|-\" declaration ;\n\ntypeAssertion ::= term \":\" type ;\n\ndefinedAssertion ::= ( frame | term ) \"is\" ( \"defined\" | \"undefined\" );\n\ncontainedAssertion ::= ( frame | term ) \"is\" ( \"present\" | \"missing\" ) \"in\" statement ;\n\nsatisfyingAssertion ::= ( ( term \"satisfies\" ) | ( term ( \",\" term )+ \"satisfy\" ) ) metavariable ; \n\nsubproofAssertion ::= \"[\" statement ( \",\" statement )* \"]\" \"...\" statement ;\n\npropertyAssertion ::= term \"is\" ( \"a\" | \"an\" ) propertyRelation ;\n\npropertyRelation ::= property \"of\" term ;\n\nframe ::= \"[\" ( ( declaration | metavariable ) ( \",\" ( declaration | metavariable ) )* )? \"]\" ;\n \ndeclaration ::= metavariable \"::\" statement ;\n\ntermSubstitution ::= \"[\" term \"for\" term \"]\";\n\nframeSubstitution ::= \"[\" frame \"for\" frame \"]\";\n\nstatementSubstitution ::= \"[\" statement \"for\" statement \"]\";\n\nreferenceSubstitution ::= \"[\" reference \"for\" reference \"]\";",
|
|
6
6
|
"typePattern": "Object",
|
|
7
|
-
"symbolPattern": ""
|
|
8
|
-
"operatorPattern": "::|\\[|\\]|\\.\\.\\.|\\|-|=|@|in|for|defined|contained|not"
|
|
7
|
+
"symbolPattern": "::|\\[|\\]|\\.\\.\\.|\\|-|=|defined|undefined|missing|present"
|
|
9
8
|
},
|
|
10
9
|
{
|
|
11
10
|
"name": "first-order-logic",
|
|
12
11
|
"termBNF": null,
|
|
13
|
-
"statementBNF": "\n\n statement ::= ( \"∀\" | \"∃\" ) ( frameArgument | argument ) metaArgument \n\n | ( frameArgument | argument ) ( \"bound\" | \"free\" ) \"in\" metaArgument\n\n ;\n\n",
|
|
12
|
+
"statementBNF": "\n\n statement ::= ( \"∀\" | \"∃\" ) ( frameArgument | argument ) metaArgument \n\n | ( frameArgument | argument ) \"is\" ( \"bound\" | \"free\" ) \"in\" metaArgument\n\n ;\n\n",
|
|
14
13
|
"typePattern": null,
|
|
15
|
-
"symbolPattern":
|
|
16
|
-
"operatorPattern": "bound|free|∀|∃"
|
|
14
|
+
"symbolPattern": "bound|free|∀|∃"
|
|
17
15
|
}
|
|
18
16
|
]
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nconditionalBlocks ::= "If" "(" condition ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" parameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \nforEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;\n\n\n\nanonymousProcedure ::= "(" parameters? ")" block ;\n\n\n\ncondition ::= bracketedCondition \n\n | bitwiseCondition \n\n | negatedCondition \n\n | comparison \n\n | value \n \n ;\n \nbracketedCondition ::= "(" condition ")" ; \n\nbitwiseCondition ::= condition ( "||" | "&&" ) condition ; \n\nnegatedCondition ::= "!"<NO_WHITESPACE>condition ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\n\n\n\nblock.. ::= "{" ( step | nonsense )* "}" ;\n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nreturnStatement ::= [return] value ";" ; \n\n\n\nstep ::= variablesDeclaration\n \n | variableAssignment\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n | forEachLoop\n \n ; \n \n \n \nassignment ::= "=" value ;\n\n\n\nvalue ::= procedureCall\n \n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" condition ")" value "Else" value ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\n\n\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\n\n\n\nlabel. ::= [name] ;\n\nreference. ::= [name] ;\n\n\n\nnonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;\n \n\n \nexpression ::= path spread? subExpression? ;\n\npath ::= "/" infiniteDescent? selectors ;\n\nsubExpression ::= path spread? subExpression?;\n\ninfiniteDescent ::= "/" ;\n\nselectors ::= selector ( "|" selector )* ;\n\nspread ::= unique\n\n | "[" \n \n ( \n \n ( startIndex "..." endIndex ) \n \n | \n \n ( startIndex "..." ) \n \n | \n \n ( "..." endIndex )\n \n | \n \n index \n \n ) \n \n "]" ;\n\nselector ::= ruleName | tokenType ;\n \nruleName ::= [name] | "*" ;\n \ntokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;\n \nstartIndex ::= [number] ;\n \nendIndex ::= [number] ;\n \nindex ::= [number] ;\n \nunique ::= "!" ;';
|
|
12
|
+
var _default = bnf;
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvZnVydGxlL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcblxuXG5cbmVycm9yLiAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuXG5cbnZhcmlhYmxlc0RlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgYXNzaWdubWVudCAoIFwiLFwiIHZhcmlhYmxlIGFzc2lnbm1lbnQgKSogXCI7XCIgO1xuXG52YXJpYWJsZUFzc2lnbm1lbnQgICAgIDo6PSAgdmFyaWFibGUgYXNzaWdubWVudCBcIjtcIiA7XG5cbmNvbmRpdGlvbmFsQmxvY2tzICAgICAgOjo9ICBcIklmXCIgXCIoXCIgY29uZGl0aW9uIFwiKVwiIGJsb2NrICggXCJFbHNlXCIgYmxvY2sgKT8gOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbm9iamVjdEFzc2lnbm1lbnQgICAgICAgOjo9ICBcIntcIiBwYXJhbWV0ZXJzIFwifVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcblxuYXJyYXlBc3NpZ25tZW50ICAgICAgICA6Oj0gIFwiW1wiIHBhcmFtZXRlcnMgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5mb3JFYWNoTG9vcCAgICAgICAgICAgIDo6PSAgXCJGb3JFYWNoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgXCI7XCIgO1xuXG5cblxuYW5vbnltb3VzUHJvY2VkdXJlICAgICA6Oj0gIFwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIGJsb2NrIDtcblxuXG5cbmNvbmRpdGlvbiAgICAgICAgICAgICAgOjo9ICBicmFja2V0ZWRDb25kaXRpb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBiaXR3aXNlQ29uZGl0aW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgbmVnYXRlZENvbmRpdGlvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBhcmlzb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YWx1ZSBcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuYnJhY2tldGVkQ29uZGl0aW9uICAgICA6Oj0gIFwiKFwiIGNvbmRpdGlvbiBcIilcIiA7IFxuXG5iaXR3aXNlQ29uZGl0aW9uICAgICAgIDo6PSAgY29uZGl0aW9uICggXCJ8fFwiIHwgXCImJlwiICkgY29uZGl0aW9uIDsgXG5cbm5lZ2F0ZWRDb25kaXRpb24gICAgICAgOjo9ICBcIiFcIjxOT19XSElURVNQQUNFPmNvbmRpdGlvbiA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIiE9XCIgfCBcIj09XCIgKSB2YWx1ZSA7IFxuXG5cblxuXG5ibG9jay4uICAgICAgICAgICAgICAgIDo6PSAgXCJ7XCIgKCBzdGVwIHwgbm9uc2Vuc2UgKSogXCJ9XCIgO1xuXG5yZXR1cm5CbG9jay4uICAgICAgICAgIDo6PSAgXCJ7XCIgKCBzdGVwIHwgbm9uc2Vuc2UgKSogcmV0dXJuU3RhdGVtZW50IFwifVwiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxucmV0dXJuU3RhdGVtZW50ICAgICAgICA6Oj0gIFtyZXR1cm5dIHZhbHVlIFwiO1wiIDsgXG5cblxuXG5zdGVwICAgICAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGVzRGVjbGFyYXRpb25cbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uZGl0aW9uYWxCbG9ja3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgZm9yRWFjaExvb3BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgOyAgXG4gIFxuICBcbiAgXG5hc3NpZ25tZW50ICAgICAgICAgICAgIDo6PSAgXCI9XCIgdmFsdWUgO1xuXG5cblxudmFsdWUgICAgICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub2Rlc1F1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJuYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtwcmltaXRpdmVdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtzdHJpbmctbGl0ZXJhbF0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICA6Oj0gIHJlZmVyZW5jZTxOT19XSElURVNQQUNFPlwiKFwiIHZhbHVlcz8gXCIpXCIgO1xuXG5ub2Rlc1F1ZXJ5ICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxubm9kZVF1ZXJ5ICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxudmFyaWFibGUgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnRlcm5hcnkgICAgICAgICAgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgY29uZGl0aW9uIFwiKVwiIHZhbHVlIFwiRWxzZVwiIHZhbHVlIDtcblxuXG5cbnBhcmFtZXRlcnMgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuXG52YWx1ZXMgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG5cblxuXG5wYXJhbWV0ZXIgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJfXCIgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5ub25zZW5zZS4gICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5leHByZXNzaW9uICAgICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/IDtcblxucGF0aCAgICAgICAgICAgICAgICAgICA6Oj0gIFwiL1wiIGluZmluaXRlRGVzY2VudD8gc2VsZWN0b3JzIDtcblxuc3ViRXhwcmVzc2lvbiAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICA6Oj0gIFwiL1wiIDtcblxuc2VsZWN0b3JzICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCJ8XCIgc2VsZWN0b3IgKSogO1xuXG5zcHJlYWQgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiBcbiAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCIuLi5cIiBlbmRJbmRleCApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiIDtcblxuc2VsZWN0b3IgICAgICAgICAgICAgICA6Oj0gIHJ1bGVOYW1lIHwgdG9rZW5UeXBlIDtcbiAgICAgICAgICAgICAgICAgICBcbnJ1bGVOYW1lICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT4oIFtuYW1lXSB8IFwiKlwiICkgO1xuICAgICAgICAgICAgICAgICAgIFxuc3RhcnRJbmRleCAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmVuZEluZGV4ICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxudW5pcXVlICAgICAgICAgICAgICAgICA6Oj0gIFwiIVwiIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTEE7OztlQUFBOzs7QUF6TEEsSUFBTUEsTUFBTztJQXlMYixXQUFlQSJ9
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
var entries = [
|
|
12
|
+
{
|
|
13
|
+
"type": "^(?:Nodes|Node|String|Number|Boolean)"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"query": "^(?:nodeQuery|nodesQuery)"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"return": "^Return"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"keyword": "^(?:If|Else|ForEach)"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"primitive": "^(?:null|true|false)"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"bracket": "^(?:\\{|\\})"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"special": "^(?:!=|!|==|=|,|;|_|&&|\\|\\||@|!|\\*|\\||\\/|\\(|\\)|\\[|\\]|\\.\\.\\.)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "^[a-zA-Z\-]+"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"number": "^[0-9]+"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"unassigned": "^."
|
|
41
|
+
}
|
|
42
|
+
];
|
|
43
|
+
var _default = entries;
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvZnVydGxlL2VudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwidHlwZVwiOiBcIl4oPzpOb2Rlc3xOb2RlfFN0cmluZ3xOdW1iZXJ8Qm9vbGVhbilcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJxdWVyeVwiOiBcIl4oPzpub2RlUXVlcnl8bm9kZXNRdWVyeSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJyZXR1cm5cIjogXCJeUmV0dXJuXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwia2V5d29yZFwiOiBcIl4oPzpJZnxFbHNlfEZvckVhY2gpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwicHJpbWl0aXZlXCI6IFwiXig/Om51bGx8dHJ1ZXxmYWxzZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFx7fFxcXFx9KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNwZWNpYWxcIjogXCJeKD86IT18IXw9PXw9fCx8O3xffCYmfFxcXFx8XFxcXHx8QHwhfFxcXFwqfFxcXFx8fFxcXFwvfFxcXFwofFxcXFwpfFxcXFxbfFxcXFxdfFxcXFwuXFxcXC5cXFxcLilcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IFwiXlthLXpBLVpcXC1dK1wiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcIm51bWJlclwiOiBcIl5bMC05XStcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJ1bmFzc2lnbmVkXCI6IFwiXi5cIlxyXG4gIH1cclxuXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGVudHJpZXM7XHJcbiJdLCJuYW1lcyI6WyJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQ0E7OztlQUFBOzs7QUFqQ0EsSUFBTUEsVUFBVTtJQUNkO1FBQ0UsUUFBUTtJQUNWO0lBQ0E7UUFDRSxTQUFTO0lBQ1g7SUFDQTtRQUNFLFVBQVU7SUFDWjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxhQUFhO0lBQ2Y7SUFDQTtRQUNFLFdBQVc7SUFDYjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFVBQVU7SUFDWjtJQUNBO1FBQ0UsY0FBYztJQUNoQjtDQUNEO0lBRUQsV0FBZUEifQ==
|
|
@@ -0,0 +1,148 @@
|
|
|
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 FurtleLexer;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _occamlexers = require("occam-lexers");
|
|
12
|
+
var _entries = /*#__PURE__*/ _interop_require_default(require("./entries"));
|
|
13
|
+
function _assert_this_initialized(self) {
|
|
14
|
+
if (self === void 0) {
|
|
15
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
+
}
|
|
17
|
+
return self;
|
|
18
|
+
}
|
|
19
|
+
function _call_super(_this, derived, args) {
|
|
20
|
+
derived = _get_prototype_of(derived);
|
|
21
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
+
}
|
|
23
|
+
function _class_call_check(instance, Constructor) {
|
|
24
|
+
if (!(instance instanceof Constructor)) {
|
|
25
|
+
throw new TypeError("Cannot call a class as a function");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _defineProperties(target, props) {
|
|
29
|
+
for(var i = 0; i < props.length; i++){
|
|
30
|
+
var descriptor = props[i];
|
|
31
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
+
descriptor.configurable = true;
|
|
33
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
+
return Constructor;
|
|
41
|
+
}
|
|
42
|
+
function _define_property(obj, key, value) {
|
|
43
|
+
if (key in obj) {
|
|
44
|
+
Object.defineProperty(obj, key, {
|
|
45
|
+
value: value,
|
|
46
|
+
enumerable: true,
|
|
47
|
+
configurable: true,
|
|
48
|
+
writable: true
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
obj[key] = value;
|
|
52
|
+
}
|
|
53
|
+
return obj;
|
|
54
|
+
}
|
|
55
|
+
function _get_prototype_of(o) {
|
|
56
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
57
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
58
|
+
};
|
|
59
|
+
return _get_prototype_of(o);
|
|
60
|
+
}
|
|
61
|
+
function _inherits(subClass, superClass) {
|
|
62
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
63
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
64
|
+
}
|
|
65
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
66
|
+
constructor: {
|
|
67
|
+
value: subClass,
|
|
68
|
+
writable: true,
|
|
69
|
+
configurable: true
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
73
|
+
}
|
|
74
|
+
function _interop_require_default(obj) {
|
|
75
|
+
return obj && obj.__esModule ? obj : {
|
|
76
|
+
default: obj
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function _possible_constructor_return(self, call) {
|
|
80
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
81
|
+
return call;
|
|
82
|
+
}
|
|
83
|
+
return _assert_this_initialized(self);
|
|
84
|
+
}
|
|
85
|
+
function _set_prototype_of(o, p) {
|
|
86
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
87
|
+
o.__proto__ = p;
|
|
88
|
+
return o;
|
|
89
|
+
};
|
|
90
|
+
return _set_prototype_of(o, p);
|
|
91
|
+
}
|
|
92
|
+
function _type_of(obj) {
|
|
93
|
+
"@swc/helpers - typeof";
|
|
94
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
+
}
|
|
96
|
+
function _is_native_reflect_construct() {
|
|
97
|
+
try {
|
|
98
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
99
|
+
} catch (_) {}
|
|
100
|
+
return (_is_native_reflect_construct = function() {
|
|
101
|
+
return !!result;
|
|
102
|
+
})();
|
|
103
|
+
}
|
|
104
|
+
var FurtleLexer = /*#__PURE__*/ function(CommonLexer) {
|
|
105
|
+
_inherits(FurtleLexer, CommonLexer);
|
|
106
|
+
function FurtleLexer() {
|
|
107
|
+
_class_call_check(this, FurtleLexer);
|
|
108
|
+
return _call_super(this, FurtleLexer, arguments);
|
|
109
|
+
}
|
|
110
|
+
_create_class(FurtleLexer, null, [
|
|
111
|
+
{
|
|
112
|
+
key: "fromNothing",
|
|
113
|
+
value: function fromNothing() {
|
|
114
|
+
return _occamlexers.CommonLexer.fromNothing(FurtleLexer);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "fromRules",
|
|
119
|
+
value: function fromRules(rules) {
|
|
120
|
+
return _occamlexers.CommonLexer.fromRules(FurtleLexer, rules);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: "fromEntries",
|
|
125
|
+
value: function fromEntries(entries) {
|
|
126
|
+
return _occamlexers.CommonLexer.fromEntries(FurtleLexer, entries);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
]);
|
|
130
|
+
return FurtleLexer;
|
|
131
|
+
}(_occamlexers.CommonLexer);
|
|
132
|
+
_define_property(FurtleLexer, "entries", _entries.default);
|
|
133
|
+
_define_property(FurtleLexer, "EndOfLineToken", _occamlexers.EndOfLineNonSignificantToken) ///
|
|
134
|
+
;
|
|
135
|
+
_define_property(FurtleLexer, "WhitespaceToken", _occamlexers.WhitespaceToken);
|
|
136
|
+
_define_property(FurtleLexer, "RegularExpressionToken", null);
|
|
137
|
+
_define_property(FurtleLexer, "EndOfLineCommentToken", _occamlexers.EndOfLineCommentNonSignificantToken);
|
|
138
|
+
_define_property(FurtleLexer, "SingleLineCommentToken", _occamlexers.PythonStyleSingleLineCommentToken);
|
|
139
|
+
_define_property(FurtleLexer, "EndOfMultiLineCommentToken", _occamlexers.PythonStyleEndOfMultiLineCommentToken) ///
|
|
140
|
+
;
|
|
141
|
+
_define_property(FurtleLexer, "StartOfMultiLineCommentToken", _occamlexers.PythonStyleStartOfMultiLineCommentToken) ///
|
|
142
|
+
;
|
|
143
|
+
_define_property(FurtleLexer, "MiddleOfMultiLineCommentToken", _occamlexers.PythonStyleMiddleOfMultiLineCommentToken) ///
|
|
144
|
+
;
|
|
145
|
+
_define_property(FurtleLexer, "SinglyQuotedStringLiteralToken", null);
|
|
146
|
+
_define_property(FurtleLexer, "DoublyQuotedStringLiteralToken", _occamlexers.DoublyQuotedStringLiteralToken);
|
|
147
|
+
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvZnVydGxlL2xleGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uTGV4ZXIsXHJcbiAgICAgICAgIFdoaXRlc3BhY2VUb2tlbixcclxuICAgICAgICAgRW5kT2ZMaW5lTm9uU2lnbmlmaWNhbnRUb2tlbixcclxuICAgICAgICAgRG91Ymx5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuLFxyXG4gICAgICAgICBFbmRPZkxpbmVDb21tZW50Tm9uU2lnbmlmaWNhbnRUb2tlbixcclxuICAgICAgICAgUHl0aG9uU3R5bGVTaW5nbGVMaW5lQ29tbWVudFRva2VuLFxyXG4gICAgICAgICBQeXRob25TdHlsZUVuZE9mTXVsdGlMaW5lQ29tbWVudFRva2VuLFxyXG4gICAgICAgICBQeXRob25TdHlsZVN0YXJ0T2ZNdWx0aUxpbmVDb21tZW50VG9rZW4sXHJcbiAgICAgICAgIFB5dGhvblN0eWxlTWlkZGxlT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4gfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XHJcblxyXG5pbXBvcnQgZW50cmllcyBmcm9tIFwiLi9lbnRyaWVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVMZXhlciBleHRlbmRzIENvbW1vbkxleGVyIHtcclxuICBzdGF0aWMgZW50cmllcyA9IGVudHJpZXM7XHJcblxyXG4gIHN0YXRpYyBFbmRPZkxpbmVUb2tlbiA9IEVuZE9mTGluZU5vblNpZ25pZmljYW50VG9rZW47IC8vL1xyXG5cclxuICBzdGF0aWMgV2hpdGVzcGFjZVRva2VuID0gV2hpdGVzcGFjZVRva2VuO1xyXG5cclxuICBzdGF0aWMgUmVndWxhckV4cHJlc3Npb25Ub2tlbiA9IG51bGw7XHJcblxyXG4gIHN0YXRpYyBFbmRPZkxpbmVDb21tZW50VG9rZW4gPSBFbmRPZkxpbmVDb21tZW50Tm9uU2lnbmlmaWNhbnRUb2tlbjtcclxuXHJcbiAgc3RhdGljIFNpbmdsZUxpbmVDb21tZW50VG9rZW4gPSBQeXRob25TdHlsZVNpbmdsZUxpbmVDb21tZW50VG9rZW47XHJcblxyXG4gIHN0YXRpYyBFbmRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiA9IFB5dGhvblN0eWxlRW5kT2ZNdWx0aUxpbmVDb21tZW50VG9rZW47ICAvLy9cclxuXHJcbiAgc3RhdGljIFN0YXJ0T2ZNdWx0aUxpbmVDb21tZW50VG9rZW4gPSBQeXRob25TdHlsZVN0YXJ0T2ZNdWx0aUxpbmVDb21tZW50VG9rZW47ICAvLy9cclxuXHJcbiAgc3RhdGljIE1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuID0gUHl0aG9uU3R5bGVNaWRkbGVPZk11bHRpTGluZUNvbW1lbnRUb2tlbjsgIC8vL1xyXG5cclxuICBzdGF0aWMgU2luZ2x5UXVvdGVkU3RyaW5nTGl0ZXJhbFRva2VuID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIERvdWJseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiA9IERvdWJseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbjtcclxuXHJcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkgeyByZXR1cm4gQ29tbW9uTGV4ZXIuZnJvbU5vdGhpbmcoRnVydGxlTGV4ZXIpOyB9XHJcblxyXG4gIHN0YXRpYyBmcm9tUnVsZXMocnVsZXMpIHsgcmV0dXJuIENvbW1vbkxleGVyLmZyb21SdWxlcyhGdXJ0bGVMZXhlciwgcnVsZXMpOyB9XHJcblxyXG4gIHN0YXRpYyBmcm9tRW50cmllcyhlbnRyaWVzKSB7IHJldHVybiBDb21tb25MZXhlci5mcm9tRW50cmllcyhGdXJ0bGVMZXhlciwgZW50cmllcyk7IH1cclxufVxyXG4iXSwibmFtZXMiOlsiRnVydGxlTGV4ZXIiLCJmcm9tTm90aGluZyIsIkNvbW1vbkxleGVyIiwiZnJvbVJ1bGVzIiwicnVsZXMiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJFbmRPZkxpbmVUb2tlbiIsIkVuZE9mTGluZU5vblNpZ25pZmljYW50VG9rZW4iLCJXaGl0ZXNwYWNlVG9rZW4iLCJSZWd1bGFyRXhwcmVzc2lvblRva2VuIiwiRW5kT2ZMaW5lQ29tbWVudFRva2VuIiwiRW5kT2ZMaW5lQ29tbWVudE5vblNpZ25pZmljYW50VG9rZW4iLCJTaW5nbGVMaW5lQ29tbWVudFRva2VuIiwiUHl0aG9uU3R5bGVTaW5nbGVMaW5lQ29tbWVudFRva2VuIiwiRW5kT2ZNdWx0aUxpbmVDb21tZW50VG9rZW4iLCJQeXRob25TdHlsZUVuZE9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiU3RhcnRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIlB5dGhvblN0eWxlU3RhcnRPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIk1pZGRsZU9mTXVsdGlMaW5lQ29tbWVudFRva2VuIiwiUHl0aG9uU3R5bGVNaWRkbGVPZk11bHRpTGluZUNvbW1lbnRUb2tlbiIsIlNpbmdseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiIsIkRvdWJseVF1b3RlZFN0cmluZ0xpdGVyYWxUb2tlbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFjcUJBOzs7MkJBSm9DOzhEQUVyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTCxJQUFBLEFBQU1BLDRCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQXVCWkMsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQWdCLE9BQU9DLHdCQUFXLENBQUNELFdBQVcsQ0F2QmxDRDtZQXVCaUQ7OztZQUU3REcsS0FBQUE7bUJBQVAsU0FBT0EsVUFBVUMsS0FBSztnQkFBSSxPQUFPRix3QkFBVyxDQUFDQyxTQUFTLENBekJuQ0gsYUF5QmlESTtZQUFROzs7WUFFckVDLEtBQUFBO21CQUFQLFNBQU9BLFlBQVlDLE9BQU87Z0JBQUksT0FBT0osd0JBQVcsQ0FBQ0csV0FBVyxDQTNCekNMLGFBMkJ1RE07WUFBVTs7O1dBM0JqRU47RUFBb0JFLHdCQUFXO0FBQ2xELGlCQURtQkYsYUFDWk0sV0FBVUEsZ0JBQU87QUFFeEIsaUJBSG1CTixhQUdaTyxrQkFBaUJDLHlDQUE0QixFQUFFLEdBQUc7O0FBRXpELGlCQUxtQlIsYUFLWlMsbUJBQWtCQSw0QkFBZTtBQUV4QyxpQkFQbUJULGFBT1pVLDBCQUF5QjtBQUVoQyxpQkFUbUJWLGFBU1pXLHlCQUF3QkMsZ0RBQW1DO0FBRWxFLGlCQVhtQlosYUFXWmEsMEJBQXlCQyw4Q0FBaUM7QUFFakUsaUJBYm1CZCxhQWFaZSw4QkFBNkJDLGtEQUFxQyxFQUFHLEdBQUc7O0FBRS9FLGlCQWZtQmhCLGFBZVppQixnQ0FBK0JDLG9EQUF1QyxFQUFHLEdBQUc7O0FBRW5GLGlCQWpCbUJsQixhQWlCWm1CLGlDQUFnQ0MscURBQXdDLEVBQUcsR0FBRzs7QUFFckYsaUJBbkJtQnBCLGFBbUJacUIsa0NBQWlDO0FBRXhDLGlCQXJCbUJyQixhQXFCWnNCLGtDQUFpQ0EsMkNBQThCIn0=
|
|
@@ -0,0 +1,134 @@
|
|
|
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 FurtleParser;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _occamparsers = require("occam-parsers");
|
|
12
|
+
var _bnf = /*#__PURE__*/ _interop_require_default(require("./bnf"));
|
|
13
|
+
function _assert_this_initialized(self) {
|
|
14
|
+
if (self === void 0) {
|
|
15
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
+
}
|
|
17
|
+
return self;
|
|
18
|
+
}
|
|
19
|
+
function _call_super(_this, derived, args) {
|
|
20
|
+
derived = _get_prototype_of(derived);
|
|
21
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
+
}
|
|
23
|
+
function _class_call_check(instance, Constructor) {
|
|
24
|
+
if (!(instance instanceof Constructor)) {
|
|
25
|
+
throw new TypeError("Cannot call a class as a function");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _defineProperties(target, props) {
|
|
29
|
+
for(var i = 0; i < props.length; i++){
|
|
30
|
+
var descriptor = props[i];
|
|
31
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
+
descriptor.configurable = true;
|
|
33
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
+
return Constructor;
|
|
41
|
+
}
|
|
42
|
+
function _define_property(obj, key, value) {
|
|
43
|
+
if (key in obj) {
|
|
44
|
+
Object.defineProperty(obj, key, {
|
|
45
|
+
value: value,
|
|
46
|
+
enumerable: true,
|
|
47
|
+
configurable: true,
|
|
48
|
+
writable: true
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
obj[key] = value;
|
|
52
|
+
}
|
|
53
|
+
return obj;
|
|
54
|
+
}
|
|
55
|
+
function _get_prototype_of(o) {
|
|
56
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
57
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
58
|
+
};
|
|
59
|
+
return _get_prototype_of(o);
|
|
60
|
+
}
|
|
61
|
+
function _inherits(subClass, superClass) {
|
|
62
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
63
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
64
|
+
}
|
|
65
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
66
|
+
constructor: {
|
|
67
|
+
value: subClass,
|
|
68
|
+
writable: true,
|
|
69
|
+
configurable: true
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
73
|
+
}
|
|
74
|
+
function _interop_require_default(obj) {
|
|
75
|
+
return obj && obj.__esModule ? obj : {
|
|
76
|
+
default: obj
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function _possible_constructor_return(self, call) {
|
|
80
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
81
|
+
return call;
|
|
82
|
+
}
|
|
83
|
+
return _assert_this_initialized(self);
|
|
84
|
+
}
|
|
85
|
+
function _set_prototype_of(o, p) {
|
|
86
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
87
|
+
o.__proto__ = p;
|
|
88
|
+
return o;
|
|
89
|
+
};
|
|
90
|
+
return _set_prototype_of(o, p);
|
|
91
|
+
}
|
|
92
|
+
function _type_of(obj) {
|
|
93
|
+
"@swc/helpers - typeof";
|
|
94
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
+
}
|
|
96
|
+
function _is_native_reflect_construct() {
|
|
97
|
+
try {
|
|
98
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
99
|
+
} catch (_) {}
|
|
100
|
+
return (_is_native_reflect_construct = function() {
|
|
101
|
+
return !!result;
|
|
102
|
+
})();
|
|
103
|
+
}
|
|
104
|
+
var FurtleParser = /*#__PURE__*/ function(CommonParser) {
|
|
105
|
+
_inherits(FurtleParser, CommonParser);
|
|
106
|
+
function FurtleParser() {
|
|
107
|
+
_class_call_check(this, FurtleParser);
|
|
108
|
+
return _call_super(this, FurtleParser, arguments);
|
|
109
|
+
}
|
|
110
|
+
_create_class(FurtleParser, null, [
|
|
111
|
+
{
|
|
112
|
+
key: "fromNothing",
|
|
113
|
+
value: function fromNothing() {
|
|
114
|
+
return _occamparsers.CommonParser.fromNothing(FurtleParser);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "fromBNF",
|
|
119
|
+
value: function fromBNF(bnf) {
|
|
120
|
+
return _occamparsers.CommonParser.fromBNF(FurtleParser, bnf);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: "fromRules",
|
|
125
|
+
value: function fromRules(rules) {
|
|
126
|
+
return _occamparsers.CommonParser.fromRules(FurtleParser, rules);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
]);
|
|
130
|
+
return FurtleParser;
|
|
131
|
+
}(_occamparsers.CommonParser);
|
|
132
|
+
_define_property(FurtleParser, "bnf", _bnf.default);
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvZnVydGxlL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IGJuZiBmcm9tIFwiLi9ibmZcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnVydGxlUGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGJuZiA9IGJuZjtcblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7IHJldHVybiBDb21tb25QYXJzZXIuZnJvbU5vdGhpbmcoRnVydGxlUGFyc2VyKTsgfVxuXG4gIHN0YXRpYyBmcm9tQk5GKGJuZikgeyByZXR1cm4gQ29tbW9uUGFyc2VyLmZyb21CTkYoRnVydGxlUGFyc2VyLCBibmYpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhydWxlcykgeyByZXR1cm4gQ29tbW9uUGFyc2VyLmZyb21SdWxlcyhGdXJ0bGVQYXJzZXIsIHJ1bGVzKTsgfVxufVxuIl0sIm5hbWVzIjpbIkZ1cnRsZVBhcnNlciIsImZyb21Ob3RoaW5nIiwiQ29tbW9uUGFyc2VyIiwiZnJvbUJORiIsImJuZiIsImZyb21SdWxlcyIsInJ1bGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7Ozs0QkFKUTswREFFYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFRCxJQUFBLEFBQU1BLDZCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQUdaQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFBZ0IsT0FBT0MsMEJBQVksQ0FBQ0QsV0FBVyxDQUhuQ0Q7WUFHbUQ7OztZQUUvREcsS0FBQUE7bUJBQVAsU0FBT0EsUUFBUUMsR0FBRztnQkFBSSxPQUFPRiwwQkFBWSxDQUFDQyxPQUFPLENBTDlCSCxjQUs2Q0k7WUFBTTs7O1lBRS9EQyxLQUFBQTttQkFBUCxTQUFPQSxVQUFVQyxLQUFLO2dCQUFJLE9BQU9KLDBCQUFZLENBQUNHLFNBQVMsQ0FQcENMLGNBT21ETTtZQUFROzs7V0FQM0ROO0VBQXFCRSwwQkFBWTtBQUNwRCxpQkFEbUJGLGNBQ1pJLE9BQU1BLFlBQUcifQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
lexersUtilities: function() {
|
|
13
|
+
return _lexers.default;
|
|
14
|
+
},
|
|
15
|
+
parsersUtilities: function() {
|
|
16
|
+
return _parsers.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers"));
|
|
20
|
+
var _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
|
|
21
|
+
function _interop_require_default(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgbGV4ZXJzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2xleGVyc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwYXJzZXJzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3BhcnNlcnNcIjtcbiJdLCJuYW1lcyI6WyJsZXhlcnNVdGlsaXRpZXMiLCJwYXJzZXJzVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFb0JBLGVBQWU7ZUFBZkEsZUFBZTs7SUFDZkMsZ0JBQWdCO2VBQWhCQSxnQkFBZ0I7Ozs2REFETzs4REFDQyJ9
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
furtleLexerFromEntries: function() {
|
|
16
|
+
return furtleLexerFromEntries;
|
|
17
|
+
},
|
|
18
|
+
furtleLexerFromNothing: function() {
|
|
19
|
+
return furtleLexerFromNothing;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
var _occamlexers = require("occam-lexers");
|
|
23
|
+
var _lexer = /*#__PURE__*/ _interop_require_default(require("../furtle/lexer"));
|
|
24
|
+
function _interop_require_default(obj) {
|
|
25
|
+
return obj && obj.__esModule ? obj : {
|
|
26
|
+
default: obj
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
|
|
30
|
+
function furtleLexerFromEntries(entries) {
|
|
31
|
+
var rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_lexer.default, rules);
|
|
32
|
+
return furtleLexer;
|
|
33
|
+
}
|
|
34
|
+
function furtleLexerFromNothing() {
|
|
35
|
+
var entries = _lexer.default.entries, rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_lexer.default, rules);
|
|
36
|
+
return furtleLexer;
|
|
37
|
+
}
|
|
38
|
+
var _default = {
|
|
39
|
+
furtleLexerFromEntries: furtleLexerFromEntries,
|
|
40
|
+
furtleLexerFromNothing: furtleLexerFromNothing
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvdXRpbGl0aWVzL2xleGVycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbGV4ZXJVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBGdXJ0bGVMZXhlciBmcm9tIFwiLi4vZnVydGxlL2xleGVyXCI7XG5cbmNvbnN0IHsgbGV4ZXJGcm9tUnVsZXMsIHJ1bGVzRnJvbUVudHJpZXMgfSA9IGxleGVyVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlTGV4ZXJGcm9tRW50cmllcyhlbnRyaWVzKSB7XG4gIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tRW50cmllcyhlbnRyaWVzKSxcbiAgICAgICAgZnVydGxlTGV4ZXIgPSBsZXhlckZyb21SdWxlcyhGdXJ0bGVMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVMZXhlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZ1cnRsZUxleGVyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgZW50cmllcyB9ID0gRnVydGxlTGV4ZXIsXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tRW50cmllcyhlbnRyaWVzKSxcbiAgICAgICAgZnVydGxlTGV4ZXIgPSBsZXhlckZyb21SdWxlcyhGdXJ0bGVMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVMZXhlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmdXJ0bGVMZXhlckZyb21FbnRyaWVzLFxuICBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nXG59O1xuIl0sIm5hbWVzIjpbImZ1cnRsZUxleGVyRnJvbUVudHJpZXMiLCJmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJGcm9tUnVsZXMiLCJsZXhlclV0aWxpdGllcyIsInJ1bGVzRnJvbUVudHJpZXMiLCJlbnRyaWVzIiwicnVsZXMiLCJmdXJ0bGVMZXhlciIsIkZ1cnRsZUxleGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUF1QkEsT0FHRTtlQUhGOztJQWZnQkEsc0JBQXNCO2VBQXRCQTs7SUFPQUMsc0JBQXNCO2VBQXRCQTs7OzJCQWJlOzREQUVQOzs7Ozs7QUFFeEIsSUFBUUMsaUJBQXFDQywyQkFBYyxDQUFuREQsZ0JBQWdCRSxtQkFBcUJELDJCQUFjLENBQW5DQztBQUVqQixTQUFTSix1QkFBdUJLLE9BQU87SUFDNUMsSUFBTUMsUUFBUUYsaUJBQWlCQyxVQUN6QkUsY0FBY0wsZUFBZU0sY0FBVyxFQUFFRjtJQUVoRCxPQUFPQztBQUNUO0FBRU8sU0FBU047SUFDZCxJQUFNLEFBQUVJLFVBQVlHLGNBQVcsQ0FBdkJILFNBQ0ZDLFFBQVFGLGlCQUFpQkMsVUFDekJFLGNBQWNMLGVBQWVNLGNBQVcsRUFBRUY7SUFFaEQsT0FBT0M7QUFDVDtJQUVBLFdBQWU7SUFDYlAsd0JBQUFBO0lBQ0FDLHdCQUFBQTtBQUNGIn0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
furtleParserFromBNF: function() {
|
|
16
|
+
return furtleParserFromBNF;
|
|
17
|
+
},
|
|
18
|
+
furtleParserFromBNFAndStartRuleName: function() {
|
|
19
|
+
return furtleParserFromBNFAndStartRuleName;
|
|
20
|
+
},
|
|
21
|
+
furtleParserFromNothing: function() {
|
|
22
|
+
return furtleParserFromNothing;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var _occamparsers = require("occam-parsers");
|
|
26
|
+
var _occamgrammarutilities = require("occam-grammar-utilities");
|
|
27
|
+
var _parser = /*#__PURE__*/ _interop_require_default(require("../furtle/parser"));
|
|
28
|
+
function _interop_require_default(obj) {
|
|
29
|
+
return obj && obj.__esModule ? obj : {
|
|
30
|
+
default: obj
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
|
|
34
|
+
function furtleParserFromBNF(bnf) {
|
|
35
|
+
var rules;
|
|
36
|
+
rules = rulesFromBNF(bnf);
|
|
37
|
+
rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
|
|
38
|
+
var furtleParser = parserFromRules(_parser.default, rules);
|
|
39
|
+
return furtleParser;
|
|
40
|
+
}
|
|
41
|
+
function furtleParserFromNothing() {
|
|
42
|
+
var bnf = _parser.default.bnf;
|
|
43
|
+
var rules;
|
|
44
|
+
rules = rulesFromBNF(bnf);
|
|
45
|
+
rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
|
|
46
|
+
var furtleParser = parserFromRules(_parser.default, rules);
|
|
47
|
+
return furtleParser;
|
|
48
|
+
}
|
|
49
|
+
function furtleParserFromBNFAndStartRuleName(bnf, startRuleName) {
|
|
50
|
+
var rules;
|
|
51
|
+
rules = rulesFromBNF(bnf);
|
|
52
|
+
rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
|
|
53
|
+
var furtleParser = parserFromRulesAndStartRuleName(_parser.default, rules, startRuleName);
|
|
54
|
+
return furtleParser;
|
|
55
|
+
}
|
|
56
|
+
var _default = {
|
|
57
|
+
furtleParserFromBNF: furtleParserFromBNF,
|
|
58
|
+
furtleParserFromNothing: furtleParserFromNothing,
|
|
59
|
+
furtleParserFromBNFAndStartRuleName: furtleParserFromBNFAndStartRuleName
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fb2NjYW0tZ3JhbW1hcnMvdXRpbGl0aWVzL3BhcnNlcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBGdXJ0bGVQYXJzZXIgZnJvbSBcIi4uL2Z1cnRsZS9wYXJzZXJcIjtcblxuY29uc3QgeyBydWxlc0Zyb21CTkYsIHBhcnNlckZyb21SdWxlcywgcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZSB9ID0gcGFyc2VyVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlUGFyc2VyRnJvbUJORihibmYpIHtcbiAgbGV0IHJ1bGVzO1xuXG4gIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgcnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG4gIGNvbnN0IGZ1cnRsZVBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhGdXJ0bGVQYXJzZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gZnVydGxlUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlUGFyc2VyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBGdXJ0bGVQYXJzZXI7XG5cbiAgbGV0IHJ1bGVzO1xuXG4gIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgcnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG4gIGNvbnN0IGZ1cnRsZVBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhGdXJ0bGVQYXJzZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gZnVydGxlUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlUGFyc2VyRnJvbUJORkFuZFN0YXJ0UnVsZU5hbWUoYm5mLCBzdGFydFJ1bGVOYW1lKSB7XG4gIGxldCBydWxlcztcblxuICBydWxlcyA9IHJ1bGVzRnJvbUJORihibmYpO1xuXG4gIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICBjb25zdCBmdXJ0bGVQYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lKEZ1cnRsZVBhcnNlciwgcnVsZXMsIHN0YXJ0UnVsZU5hbWUpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZnVydGxlUGFyc2VyRnJvbUJORixcbiAgZnVydGxlUGFyc2VyRnJvbU5vdGhpbmcsXG4gIGZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lXG59O1xuIl0sIm5hbWVzIjpbImZ1cnRsZVBhcnNlckZyb21CTkYiLCJmdXJ0bGVQYXJzZXJGcm9tQk5GQW5kU3RhcnRSdWxlTmFtZSIsImZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nIiwicnVsZXNGcm9tQk5GIiwicGFyc2VyVXRpbGl0aWVzIiwicGFyc2VyRnJvbVJ1bGVzIiwicGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZSIsImJuZiIsInJ1bGVzIiwiZWxpbWluYXRlTGVmdFJlY3Vyc2lvbiIsImZ1cnRsZVBhcnNlciIsIkZ1cnRsZVBhcnNlciIsInN0YXJ0UnVsZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQStDQSxPQUlFO2VBSkY7O0lBdENnQkEsbUJBQW1CO2VBQW5CQTs7SUEwQkFDLG1DQUFtQztlQUFuQ0E7O0lBZEFDLHVCQUF1QjtlQUF2QkE7Ozs0QkFuQmdCO3FDQUNPOzZEQUVkOzs7Ozs7QUFFekIsSUFBUUMsZUFBbUVDLDZCQUFlLENBQWxGRCxjQUFjRSxrQkFBcURELDZCQUFlLENBQXBFQyxpQkFBaUJDLGtDQUFvQ0YsNkJBQWUsQ0FBbkRFO0FBRWhDLFNBQVNOLG9CQUFvQk8sR0FBRztJQUNyQyxJQUFJQztJQUVKQSxRQUFRTCxhQUFhSTtJQUVyQkMsUUFBUUMsSUFBQUEsNkNBQXNCLEVBQUNELFFBQVMsR0FBRztJQUUzQyxJQUFNRSxlQUFlTCxnQkFBZ0JNLGVBQVksRUFBRUg7SUFFbkQsT0FBT0U7QUFDVDtBQUVPLFNBQVNSO0lBQ2QsSUFBTSxBQUFFSyxNQUFRSSxlQUFZLENBQXBCSjtJQUVSLElBQUlDO0lBRUpBLFFBQVFMLGFBQWFJO0lBRXJCQyxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO0lBRTNDLElBQU1FLGVBQWVMLGdCQUFnQk0sZUFBWSxFQUFFSDtJQUVuRCxPQUFPRTtBQUNUO0FBRU8sU0FBU1Qsb0NBQW9DTSxHQUFHLEVBQUVLLGFBQWE7SUFDcEUsSUFBSUo7SUFFSkEsUUFBUUwsYUFBYUk7SUFFckJDLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7SUFFM0MsSUFBTUUsZUFBZUosZ0NBQWdDSyxlQUFZLEVBQUVILE9BQU9JO0lBRTFFLE9BQU9GO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JWLHFCQUFBQTtJQUNBRSx5QkFBQUE7SUFDQUQscUNBQUFBO0FBQ0YifQ==
|