@stechquick/studio-cli 4.1.0-6 → 4.1.0-7

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 (25) hide show
  1. package/dist/common/agentic/quickHostCompiler/commands/GlobalManager.js +1 -1
  2. package/dist/common/agentic/quickHostCompiler/commands/GlobalManager.js.map +1 -1
  3. package/dist/common/agentic/quickHostCompiler/commands/compile.js +2 -2
  4. package/dist/common/agentic/quickHostCompiler/commands/compile.js.map +1 -1
  5. package/dist/common/agentic/studioCli/protocolVersion.js +1 -1
  6. package/dist/common/agentic/studioCli/protocolVersion.js.map +1 -1
  7. package/dist/quick/common/shrimp/helpers/QJsonHelper.js +153 -0
  8. package/dist/quick/common/shrimp/helpers/QJsonHelper.js.map +1 -0
  9. package/dist/quick/common/shrimp/helpers/qjsonParser/QJsonContentParser.js +21 -0
  10. package/dist/quick/common/shrimp/helpers/qjsonParser/QJsonContentParser.js.map +1 -0
  11. package/dist/quick/common/shrimp/helpers/typeHelper.js.map +1 -1
  12. package/dist/quick/common/shrimp/omniScriptCompiler/Compressor.js +83 -0
  13. package/dist/quick/common/shrimp/omniScriptCompiler/Compressor.js.map +1 -0
  14. package/dist/quick/common/shrimp/omniScriptCompiler/Lexer.js +348 -0
  15. package/dist/quick/common/shrimp/omniScriptCompiler/Lexer.js.map +1 -0
  16. package/dist/quick/common/shrimp/omniScriptCompiler/Node.js +35 -0
  17. package/dist/quick/common/shrimp/omniScriptCompiler/Node.js.map +1 -0
  18. package/dist/quick/common/shrimp/omniScriptCompiler/Parser.js +988 -0
  19. package/dist/quick/common/shrimp/omniScriptCompiler/Parser.js.map +1 -0
  20. package/dist/quick/common/shrimp/omniScriptCompiler/QSCError.js +19 -0
  21. package/dist/quick/common/shrimp/omniScriptCompiler/QSCError.js.map +1 -0
  22. package/dist/quick/common/shrimp/omniScriptCompiler/Token.js +32 -0
  23. package/dist/quick/common/shrimp/omniScriptCompiler/Token.js.map +1 -0
  24. package/dist/studio-cli/src/version.js +1 -1
  25. package/package.json +4 -2
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lex = void 0;
4
+ const typeHelper_1 = require("../helpers/typeHelper");
5
+ const QSCError_1 = require("./QSCError");
6
+ const Token_1 = require("./Token");
7
+ var Lex = function (dataInput, lexContext, returnOnExess) {
8
+ var char;
9
+ var token; // token that is being filled on cumulatively and has NOT been added
10
+ var prevToken; // token that has been filled previously and has BEEN added to list
11
+ var tokens = [];
12
+ var numbers = "0123456789";
13
+ var characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
14
+ var operators = "(){}[]+-*/!?:%.&|><=\,";
15
+ var longOperators = { "++": 1, /* "--": 1, "+=": 1, "*=": 1, "-=": 1, "/=": 1,*/ "&&": 1, "||": 1, "==": 1, ">=": 1, "<=": 1, "!=": 1 };
16
+ var commentOperators = { "//": 1 };
17
+ var stringOperators = { "'": 1 };
18
+ var context = lexContext || { i: 0, data: dataInput || "", line: 1, column: 1 };
19
+ var willReturn = false;
20
+ var space = " ";
21
+ var tab = "\t";
22
+ var keywords = {
23
+ "if": {
24
+ expectedNextTokenValue: "(",
25
+ acceptablePrevTokens: "else"
26
+ },
27
+ "else": {
28
+ expectedNextTokenValue: "{",
29
+ acceptablePrevTokens: "}"
30
+ },
31
+ "foreach": {
32
+ expectedNextTokenValue: "(",
33
+ acceptablePrevTokens: null
34
+ },
35
+ "in": {
36
+ expectedNextTokenValue: { type: Token_1.Token.Types.identifier },
37
+ acceptablePrevTokens: { type: Token_1.Token.Types.identifier }
38
+ },
39
+ "break": {
40
+ expectedNextTokenValue: null,
41
+ acceptablePrevTokens: null
42
+ },
43
+ "continue": {
44
+ expectedNextTokenValue: null,
45
+ acceptablePrevTokens: null
46
+ }
47
+ };
48
+ var stringEscapeds = {
49
+ "{": function () {
50
+ return "{";
51
+ },
52
+ "\\": function () {
53
+ return "\\";
54
+ },
55
+ "t": function () {
56
+ return "\t";
57
+ },
58
+ "n": function () {
59
+ return "\n";
60
+ }
61
+ };
62
+ var inStringOperators = {
63
+ "{": function () {
64
+ // string içinde geçen { -> Merhaba {Customer.Name}
65
+ addToken();
66
+ var innerTokens = Lex(context.data, context, { "{": 1, "}": -1 });
67
+ for (var i = 0; i < innerTokens.length; i++) {
68
+ tokens.push(innerTokens[i]);
69
+ }
70
+ token = tokens[tokens.length - 1];
71
+ if (token.value != "}") {
72
+ error("string statements must end with }" + token.Summarize(), "string statement must end with } " + token.value);
73
+ }
74
+ willReturn = checkExessReturn(token.value);
75
+ prevToken = token;
76
+ token = new Token_1.Token(Token_1.Token.Types.string, "", getPoz());
77
+ token.position.column++; // continuation of string for next char
78
+ },
79
+ "\\": function () {
80
+ var nextChar = peekNext();
81
+ var escaper = stringEscapeds[nextChar];
82
+ if (!escaper) {
83
+ return;
84
+ }
85
+ token.value += escaper();
86
+ next();
87
+ }
88
+ };
89
+ function checkPrevToken(token, prevToken) {
90
+ ///<param name="prevToken" value="new Isbank.OmniScript.Token();"></param>
91
+ if (prevToken == null) {
92
+ return;
93
+ }
94
+ var accPrevTokens = keywords[token.value].acceptablePrevTokens;
95
+ if (accPrevTokens == null) {
96
+ error("Keyword: " + token.Summarize() + " must be first token in a line.", token.type + ": " + token.value + " must be first token in a line.");
97
+ }
98
+ if (new typeHelper_1.TypeHelper().isObject(accPrevTokens)) {
99
+ if (accPrevTokens.type != prevToken.type) {
100
+ error("Keyword: " + token.Summarize() + " can not have " + prevToken.Summarize() + " before", token.type + ": " + token.value + " can not have '" + prevToken.value + "' before");
101
+ }
102
+ }
103
+ else {
104
+ if (accPrevTokens != prevToken.value) {
105
+ error("Keyword: " + token.Summarize() + " can not have " + prevToken.Summarize() + " before", token.type + ": " + token.value + " can not have '" + prevToken.value + "' before");
106
+ }
107
+ }
108
+ }
109
+ function isLongOperator(op) {
110
+ return longOperators[op || token.value] == 1;
111
+ }
112
+ function isCommentLongOperator() {
113
+ return commentOperators[token.value] == 1;
114
+ }
115
+ function addToken() {
116
+ if (token != null) {
117
+ if (token.type == Token_1.Token.Types.identifier && keywords.hasOwnProperty(token.value) && keywords[token.value] != null) {
118
+ token.type = Token_1.Token.Types.keyword;
119
+ checkPrevToken(token, prevToken);
120
+ }
121
+ else if (prevToken != null && prevToken.type == Token_1.Token.Types.keyword) {
122
+ var expNextToken = keywords[prevToken.value].expectedNextTokenValue;
123
+ if (!expNextToken) {
124
+ error("Token: " + prevToken.Summarize() + " does not accept anything after it", prevToken.type + ": " + prevToken.value + " does not accept anything after it");
125
+ }
126
+ else if (new typeHelper_1.TypeHelper().isObject(expNextToken)) {
127
+ if (expNextToken.type != token.type) {
128
+ error("Token: " + token.Summarize() + " can not come after " + prevToken.Summarize(), token.type + ": " + token.value + " can not come after '" + prevToken.value + "'");
129
+ }
130
+ }
131
+ else {
132
+ if (expNextToken != token.value) {
133
+ error("Token: " + token.Summarize() + " can not come after " + prevToken.Summarize(), token.type + ": " + token.value + " can not come after '" + prevToken.value + "'");
134
+ }
135
+ }
136
+ }
137
+ tokens.push(token);
138
+ prevToken = token;
139
+ token = null;
140
+ }
141
+ }
142
+ function isStringOp(curChar) {
143
+ return stringOperators[curChar || char] == 1;
144
+ }
145
+ function isNumber(curChar) {
146
+ return numbers.indexOf(curChar || char) > -1;
147
+ }
148
+ function isCharacter(curChar) {
149
+ return characters.indexOf(curChar || char) > -1;
150
+ }
151
+ function isOperator(curChar) {
152
+ return operators.indexOf(curChar || char) > -1;
153
+ }
154
+ function getPoz() {
155
+ return { line: context.line, column: context.column };
156
+ }
157
+ function error(consoleMsg, msg) {
158
+ msg = msg || consoleMsg;
159
+ throw new QSCError_1.QSCError({ intelliMsg: msg, message: "(Lexer)line: " + context.line + " column: " + context.column + "-> " + consoleMsg,
160
+ stLine: context.line, stColumn: context.column,
161
+ eLine: context.line, eColumn: context.column + 2
162
+ });
163
+ }
164
+ function peekNext() {
165
+ if (context.i + 1 >= context.data.length) {
166
+ return null;
167
+ }
168
+ return context.data[context.i + 1];
169
+ }
170
+ function next() {
171
+ context.i++;
172
+ context.column++;
173
+ }
174
+ function prev() {
175
+ context.i--;
176
+ context.column--;
177
+ }
178
+ function isTokenizer() {
179
+ return char === space || char === tab;
180
+ }
181
+ function checkNewLine() {
182
+ if (char === "\n") {
183
+ return true;
184
+ }
185
+ else if (char === "\r" && peekNext() === "\n") {
186
+ next();
187
+ return true;
188
+ }
189
+ }
190
+ function checkExessReturn(curChar) {
191
+ var targetChar = curChar || char;
192
+ if (returnOnExess === null || returnOnExess === undefined) {
193
+ return false;
194
+ }
195
+ if (returnOnExess[targetChar] === undefined) {
196
+ return false;
197
+ }
198
+ returnOnExess.value = (returnOnExess.value || 0) + returnOnExess[targetChar];
199
+ if (returnOnExess.value > 0) {
200
+ return false;
201
+ }
202
+ return true;
203
+ }
204
+ while (context.i < context.data.length && !willReturn) {
205
+ char = context.data[context.i];
206
+ willReturn = checkExessReturn();
207
+ if (checkNewLine()) {
208
+ addToken();
209
+ context.line++;
210
+ context.column = 0;
211
+ prevToken = null;
212
+ }
213
+ else {
214
+ if (token == null) {
215
+ if (isTokenizer()) {
216
+ addToken();
217
+ }
218
+ else if (isNumber()) {
219
+ token = new Token_1.Token(Token_1.Token.Types.number, char, getPoz());
220
+ }
221
+ else if (isStringOp()) {
222
+ token = new Token_1.Token(Token_1.Token.Types.string, "", getPoz());
223
+ }
224
+ else if (isCharacter()) {
225
+ token = new Token_1.Token(Token_1.Token.Types.identifier, char, getPoz());
226
+ }
227
+ else if (isOperator()) {
228
+ token = new Token_1.Token(Token_1.Token.Types.operator, char, getPoz());
229
+ }
230
+ else {
231
+ error("char: " + char + " is not a permitted char");
232
+ }
233
+ }
234
+ else {
235
+ if (isTokenizer()) {
236
+ if (token.type == Token_1.Token.Types.string) {
237
+ token.value += char;
238
+ }
239
+ else {
240
+ addToken();
241
+ }
242
+ }
243
+ else if (isCharacter()) {
244
+ if (token.type == Token_1.Token.Types.number || token.type == Token_1.Token.Types.keyword) {
245
+ error("char: " + char + " can not come after: " + token.Summarize(), "char: " + char + " can not come after: " + token.value);
246
+ }
247
+ else if (token.type == Token_1.Token.Types.operator) {
248
+ addToken();
249
+ token = new Token_1.Token(Token_1.Token.Types.identifier, char, getPoz());
250
+ }
251
+ else { // string & identifier
252
+ token.value += char;
253
+ }
254
+ }
255
+ else if (isStringOp()) {
256
+ if (token.type == Token_1.Token.Types.operator) {
257
+ addToken();
258
+ token = new Token_1.Token(Token_1.Token.Types.string, "", getPoz());
259
+ }
260
+ else if (token.type == Token_1.Token.Types.string) {
261
+ if (isStringOp(context.data[context.i + 1])) {
262
+ if (char === context.data[context.i + 1]) {
263
+ token.value += char;
264
+ next();
265
+ }
266
+ else {
267
+ addToken();
268
+ }
269
+ }
270
+ else {
271
+ addToken();
272
+ }
273
+ }
274
+ else {
275
+ error("char: " + char + " can not come after: " + token.Summarize(), "char: " + char + " can not come after: " + token.value);
276
+ }
277
+ }
278
+ else if (isNumber()) {
279
+ if (token.type == Token_1.Token.Types.operator) {
280
+ addToken();
281
+ token = new Token_1.Token(Token_1.Token.Types.number, char, getPoz());
282
+ }
283
+ else if (token.type == Token_1.Token.Types.keyword) {
284
+ error("number: " + char + " can not come after: " + token.Summarize(), "number: " + char + " can not come after: " + token.value);
285
+ }
286
+ else {
287
+ token.value += char;
288
+ }
289
+ }
290
+ else if (isOperator()) {
291
+ if (token.type == Token_1.Token.Types.string) {
292
+ var opFunc = inStringOperators[char];
293
+ if (opFunc) {
294
+ opFunc();
295
+ }
296
+ else {
297
+ token.value += char;
298
+ }
299
+ }
300
+ else if (token.type != Token_1.Token.Types.operator) {
301
+ addToken();
302
+ token = new Token_1.Token(Token_1.Token.Types.operator, char, getPoz());
303
+ }
304
+ else {
305
+ token.value += char;
306
+ if (isCommentLongOperator()) {
307
+ token.type = "comment";
308
+ do {
309
+ token.value += char;
310
+ next();
311
+ char = context.data[context.i];
312
+ } while (char && !checkNewLine());
313
+ prev();
314
+ token = null; // might use comment tokens in some other time or place. or dimension :)
315
+ }
316
+ else if (!isLongOperator()) {
317
+ // maybe error ??
318
+ token.value = token.value.substring(0, token.value.length - 1);
319
+ addToken();
320
+ token = new Token_1.Token(Token_1.Token.Types.operator, char, getPoz());
321
+ }
322
+ }
323
+ }
324
+ else {
325
+ if (token.type == Token_1.Token.Types.string) {
326
+ var opFunc = inStringOperators[char];
327
+ if (opFunc) {
328
+ opFunc();
329
+ }
330
+ else {
331
+ token.value += char;
332
+ }
333
+ }
334
+ else {
335
+ error("char: " + char + " is not a permitted char");
336
+ }
337
+ }
338
+ }
339
+ }
340
+ if (!willReturn) {
341
+ next();
342
+ }
343
+ }
344
+ addToken();
345
+ return tokens;
346
+ };
347
+ exports.Lex = Lex;
348
+ //# sourceMappingURL=Lexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../../../../../quick/common/shrimp/omniScriptCompiler/Lexer.js"],"names":[],"mappings":"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","sourcesContent":["import { TypeHelper } from \"../helpers/typeHelper\";\nimport { QSCError } from \"./QSCError\";\nimport { Token } from \"./Token\";\n\nvar Lex = function (dataInput, lexContext, returnOnExess) {\n var char;\n var token; // token that is being filled on cumulatively and has NOT been added\n var prevToken; // token that has been filled previously and has BEEN added to list\n var tokens = [];\n var numbers = \"0123456789\";\n var characters = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_\";\n var operators = \"(){}[]+-*/!?:%.&|><=\\,\";\n var longOperators = { \"++\": 1,/* \"--\": 1, \"+=\": 1, \"*=\": 1, \"-=\": 1, \"/=\": 1,*/ \"&&\": 1, \"||\": 1, \"==\": 1, \">=\": 1, \"<=\": 1, \"!=\": 1 };\n var commentOperators = {\"//\": 1};\n var stringOperators = { \"'\": 1 };\n var context = lexContext || { i: 0, data: dataInput || \"\", line: 1, column: 1 };\n var willReturn = false;\n var space = \" \";\n var tab = \"\\t\";\n\n var keywords = {\n \"if\": {\n expectedNextTokenValue: \"(\",\n acceptablePrevTokens: \"else\"\n },\n \"else\": {\n expectedNextTokenValue: \"{\",\n acceptablePrevTokens: \"}\"\n },\n \"foreach\": {\n expectedNextTokenValue: \"(\",\n acceptablePrevTokens: null\n },\n \"in\": {\n expectedNextTokenValue: { type: Token.Types.identifier },\n acceptablePrevTokens: { type: Token.Types.identifier }\n },\n \"break\": {\n expectedNextTokenValue: null,\n acceptablePrevTokens: null\n },\n \"continue\": {\n expectedNextTokenValue: null,\n acceptablePrevTokens: null\n }\n };\n var stringEscapeds = {\n \"{\": function(){\n return \"{\";\n },\n \"\\\\\": function(){\n return \"\\\\\";\n },\n \"t\": function(){\n return \"\\t\";\n },\n \"n\": function(){\n return \"\\n\";\n }\n };\n var inStringOperators = {\n \"{\": function() {\n // string içinde geçen { -> Merhaba {Customer.Name}\n addToken();\n \n var innerTokens = Lex(context.data, context, { \"{\": 1, \"}\": -1 });\n for (var i = 0; i < innerTokens.length; i++) {\n tokens.push(innerTokens[i]);\n }\n token = tokens[tokens.length - 1];\n if (token.value != \"}\") {\n error(\"string statements must end with }\" + token.Summarize(), \"string statement must end with } \" + token.value);\n }\n willReturn = checkExessReturn(token.value);\n prevToken = token;\n token = new Token(Token.Types.string, \"\", getPoz());\n token.position.column++; // continuation of string for next char\n },\n \"\\\\\": function() {\n var nextChar = peekNext();\n var escaper = stringEscapeds[nextChar];\n if (!escaper){\n return;\n }\n token.value += escaper();\n next();\n }\n }\n\n function checkPrevToken(token, prevToken) {\n ///<param name=\"prevToken\" value=\"new Isbank.OmniScript.Token();\"></param>\n if (prevToken == null) {\n return;\n }\n var accPrevTokens = keywords[token.value].acceptablePrevTokens;\n if (accPrevTokens == null) {\n error(\"Keyword: \" + token.Summarize() + \" must be first token in a line.\", token.type + \": \" + token.value + \" must be first token in a line.\");\n }\n\n if (new TypeHelper().isObject(accPrevTokens)) {\n if (accPrevTokens.type != prevToken.type) {\n error(\"Keyword: \" + token.Summarize() + \" can not have \" + prevToken.Summarize() + \" before\", token.type + \": \" + token.value + \" can not have '\" + prevToken.value + \"' before\");\n }\n } else {\n if (accPrevTokens != prevToken.value) {\n error(\"Keyword: \" + token.Summarize() + \" can not have \" + prevToken.Summarize() + \" before\", token.type + \": \" + token.value + \" can not have '\" + prevToken.value + \"' before\");\n }\n }\n }\n\n function isLongOperator(op) {\n return longOperators[op || token.value] == 1;\n }\n function isCommentLongOperator(){\n return commentOperators[token.value] == 1;\n }\n\n function addToken() {\n if (token != null) {\n if (token.type == Token.Types.identifier && keywords.hasOwnProperty(token.value) && keywords[token.value] != null) {\n token.type = Token.Types.keyword;\n checkPrevToken(token, prevToken);\n } else if (prevToken != null && prevToken.type == Token.Types.keyword) {\n var expNextToken = keywords[prevToken.value].expectedNextTokenValue;\n if (!expNextToken) {\n error(\"Token: \" + prevToken.Summarize() + \" does not accept anything after it\", prevToken.type + \": \" + prevToken.value + \" does not accept anything after it\");\n } else if (new TypeHelper().isObject(expNextToken)) {\n if (expNextToken.type != token.type) {\n error(\"Token: \" + token.Summarize() + \" can not come after \" + prevToken.Summarize(), token.type + \": \" + token.value + \" can not come after '\" + prevToken.value + \"'\");\n }\n } else {\n if (expNextToken != token.value) {\n error(\"Token: \" + token.Summarize() + \" can not come after \" + prevToken.Summarize(), token.type + \": \" + token.value + \" can not come after '\" + prevToken.value + \"'\");\n }\n }\n }\n\n tokens.push(token);\n prevToken = token;\n token = null;\n }\n }\n\n function isStringOp(curChar) {\n return stringOperators[curChar || char] == 1;\n }\n function isNumber(curChar) {\n return numbers.indexOf(curChar || char) > -1;\n }\n function isCharacter(curChar) {\n return characters.indexOf(curChar || char) > -1;\n }\n function isOperator(curChar) {\n return operators.indexOf(curChar || char) > -1;\n }\n\n function getPoz() {\n return { line: context.line, column: context.column };\n }\n\n function error(consoleMsg, msg) {\n msg = msg || consoleMsg;\n throw new QSCError({ intelliMsg: msg, message: \"(Lexer)line: \" + context.line + \" column: \" + context.column + \"-> \" + consoleMsg,\n stLine: context.line, stColumn: context.column,\n eLine: context.line, eColumn: context.column + 2\n });\n }\n function peekNext() {\n if (context.i + 1 >= context.data.length) {\n return null;\n }\n return context.data[context.i + 1];\n }\n function next() {\n context.i++;\n context.column++;\n }\n function prev() {\n context.i--;\n context.column--;\n }\n\n function isTokenizer() {\n return char === space || char === tab;\n }\n\n\n function checkNewLine() {\n if (char === \"\\n\") {\n return true;\n } else if (char === \"\\r\" && peekNext() === \"\\n\") {\n next();\n return true;\n }\n }\n\n function checkExessReturn(curChar) {\n var targetChar = curChar || char;\n if (returnOnExess === null || returnOnExess === undefined) {\n return false;\n }\n if (returnOnExess[targetChar] === undefined) {\n return false;\n }\n\n returnOnExess.value = (returnOnExess.value || 0) + returnOnExess[targetChar];\n if (returnOnExess.value > 0) {\n return false;\n }\n return true;\n }\n\n while (context.i < context.data.length && !willReturn) {\n char = context.data[context.i];\n\n willReturn = checkExessReturn();\n if (checkNewLine()) {\n\n addToken();\n context.line++;\n context.column = 0;\n prevToken = null;\n } else {\n if (token == null) {\n if (isTokenizer()) {\n addToken();\n } else if (isNumber()) {\n token = new Token(Token.Types.number, char, getPoz());\n } else if (isStringOp()) {\n token = new Token(Token.Types.string, \"\", getPoz());\n } else if (isCharacter()) {\n token = new Token(Token.Types.identifier, char, getPoz());\n } else if (isOperator()) {\n token = new Token(Token.Types.operator, char, getPoz());\n } else {\n error(\"char: \" + char + \" is not a permitted char\");\n }\n } else {\n if (isTokenizer()) {\n if (token.type == Token.Types.string) {\n token.value += char;\n } else {\n addToken();\n }\n } else if (isCharacter()) {\n if (token.type == Token.Types.number || token.type == Token.Types.keyword) {\n error(\"char: \" + char + \" can not come after: \" + token.Summarize(), \"char: \" + char + \" can not come after: \" + token.value);\n } else if (token.type == Token.Types.operator) {\n addToken();\n token = new Token(Token.Types.identifier, char, getPoz());\n } else { // string & identifier\n token.value += char;\n }\n } else if (isStringOp()) {\n if (token.type == Token.Types.operator) {\n addToken();\n token = new Token(Token.Types.string, \"\", getPoz());\n } else if (token.type == Token.Types.string) {\n if (isStringOp(context.data[context.i + 1])) {\n if (char === context.data[context.i + 1]) {\n token.value += char;\n next();\n } else {\n addToken();\n }\n } else {\n addToken();\n }\n } else {\n error(\"char: \" + char + \" can not come after: \" + token.Summarize(), \"char: \" + char + \" can not come after: \" + token.value);\n }\n } else if (isNumber()) {\n if (token.type == Token.Types.operator) {\n addToken();\n token = new Token(Token.Types.number, char, getPoz());\n } else if (token.type == Token.Types.keyword) {\n error(\"number: \" + char + \" can not come after: \" + token.Summarize(), \"number: \" + char + \" can not come after: \" + token.value);\n } else {\n token.value += char;\n }\n } else if (isOperator()) {\n if (token.type == Token.Types.string) {\n var opFunc = inStringOperators[char];\n if (opFunc){\n opFunc();\n }else{\n token.value += char;\n }\n } else if (token.type != Token.Types.operator) {\n addToken();\n\n token = new Token(Token.Types.operator, char, getPoz());\n } else {\n token.value += char;\n if (isCommentLongOperator()){\n token.type = \"comment\";\n do{\n token.value += char;\n next();\n char = context.data[context.i];\n }while(char && !checkNewLine())\n prev();\n token = null; // might use comment tokens in some other time or place. or dimension :)\n } else if (!isLongOperator()) {\n // maybe error ??\n token.value = token.value.substring(0, token.value.length - 1);\n addToken();\n token = new Token(Token.Types.operator, char, getPoz());\n }\n }\n } else {\n if (token.type == Token.Types.string) {\n var opFunc = inStringOperators[char];\n if (opFunc){\n opFunc();\n }else{\n token.value += char;\n }\n } else {\n error(\"char: \" + char + \" is not a permitted char\");\n }\n }\n }\n }\n\n if (!willReturn) {\n next();\n }\n }\n addToken();\n\n return tokens;\n };\n\nexport { Lex };\n"]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Node = void 0;
4
+ const Parser_1 = require("./Parser");
5
+ const Token_1 = require("./Token");
6
+ class node {
7
+ constructor(token) {
8
+ if (token == null) {
9
+ throw "(Parser)token is null";
10
+ }
11
+ this.token = token;
12
+ this.left = null;
13
+ this.right = null;
14
+ this.parent = null;
15
+ this.TokObject = Parser_1.ParseObj.Parse.Dict[this.token.type + "s"][this.token.value];
16
+ this.TokObject = this.TokObject == null ? Parser_1.ParseObj.Parse.Dict[this.token.type + "s"].main : this.TokObject;
17
+ if (this.TokObject == null) {
18
+ throw "(Parser)token is not an expected token: " + this.Summarize();
19
+ }
20
+ }
21
+ Summarize() {
22
+ return this.token.Summarize();
23
+ }
24
+ ShortSummarize() {
25
+ var shortSum = this.token.type;
26
+ switch (this.token.type) {
27
+ case Token_1.Token.Types.operator:
28
+ shortSum += "<<" + this.token.value + ">>";
29
+ break;
30
+ }
31
+ return shortSum;
32
+ }
33
+ }
34
+ exports.Node = node;
35
+ //# sourceMappingURL=Node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../../../quick/common/shrimp/omniScriptCompiler/Node.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,mCAAgC;AAGhC,MAAM,IAAI;IAMN,YAAY,KAAY;QACpB,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,MAAM,uBAAuB,CAAC;SACjC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,iBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3G,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YACxB,MAAM,0CAA0C,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;SACvE;IACL,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IACD,cAAc;QACV,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACrB,KAAK,aAAK,CAAC,KAAK,CAAC,QAAQ;gBACrB,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC3C,MAAM;SACb;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAEgB,oBAAI","sourcesContent":["import { ParseObj } from \"./Parser\"\nimport { Token } from \"./Token\";\n\nexport type Forest = Array<node>;\nclass node {\n token: Token;\n left: node | Array<Forest | null> | Forest | null;\n right: node | Array<Forest | null> | Forest | null;\n parent: node | Array<Forest | null> | Forest | null;\n TokObject: any;\n constructor(token: Token) {\n if (token == null) {\n throw \"(Parser)token is null\";\n }\n this.token = token;\n this.left = null;\n this.right = null;\n this.parent = null;\n this.TokObject = ParseObj.Parse.Dict[this.token.type + \"s\"][this.token.value];\n this.TokObject = this.TokObject == null ? ParseObj.Parse.Dict[this.token.type + \"s\"].main : this.TokObject;\n if (this.TokObject == null) {\n throw \"(Parser)token is not an expected token: \" + this.Summarize();\n }\n }\n\n Summarize() {\n return this.token.Summarize();\n }\n ShortSummarize() {\n var shortSum = this.token.type;\n switch (this.token.type) {\n case Token.Types.operator:\n shortSum += \"<<\" + this.token.value + \">>\";\n break;\n }\n return shortSum;\n }\n}\n\nexport { node as Node }\n"]}