lny-interpreter 0.99.0

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.

Potentially problematic release.


This version of lny-interpreter might be problematic. Click here for more details.

Files changed (130) hide show
  1. package/.vscode/launch.json +19 -0
  2. package/README.md +96 -0
  3. package/book_ALT/LennySmartIcon1.png +0 -0
  4. package/book_ALT/chapter01.md +141 -0
  5. package/book_ALT/chapter02.md +48 -0
  6. package/book_ALT/chapter03.md +28 -0
  7. package/book_ALT/chapter04.md +19 -0
  8. package/book_ALT/chapter05.md +21 -0
  9. package/book_ALT/chapter06.md +167 -0
  10. package/book_ALT/chapter07.md +232 -0
  11. package/book_ALT/chapter08.md +200 -0
  12. package/book_ALT/chapter09.md +175 -0
  13. package/book_ALT/chapter10.md +196 -0
  14. package/book_ALT/deckblatt.md +60 -0
  15. package/book_ALT/images/Lenny01.png +0 -0
  16. package/book_ALT/images/Lenny02.png +0 -0
  17. package/book_ALT/images/Lenny03.png +0 -0
  18. package/book_ALT/images/Lenny04.png +0 -0
  19. package/book_ALT/images/Lenny05.png +0 -0
  20. package/book_ALT/images/Lenny06.png +0 -0
  21. package/book_ALT/images/Lenny07.png +0 -0
  22. package/book_ALT/images/Lenny08.png +0 -0
  23. package/book_ALT/images/Lenny09.png +0 -0
  24. package/book_ALT/images/Lenny10.png +0 -0
  25. package/book_ALT/images/Lenny11.png +0 -0
  26. package/book_ALT/images/Lenny12.png +0 -0
  27. package/book_ALT/images/Lenny13.png +0 -0
  28. package/book_ALT/images/Lenny14.png +0 -0
  29. package/book_ALT/images/Lenny15.png +0 -0
  30. package/book_ALT/lehrerheft.md +255 -0
  31. package/dist/ast/ast.d.ts +126 -0
  32. package/dist/ast/ast.d.ts.map +1 -0
  33. package/dist/ast/ast.js +3 -0
  34. package/dist/ast/ast.js.map +1 -0
  35. package/dist/browser.d.ts +2 -0
  36. package/dist/browser.d.ts.map +1 -0
  37. package/dist/browser.js +1067 -0
  38. package/dist/browser.js.map +1 -0
  39. package/dist/examples.d.ts +11 -0
  40. package/dist/examples.d.ts.map +1 -0
  41. package/dist/examples.js +65 -0
  42. package/dist/examples.js.map +1 -0
  43. package/dist/i18n/i18n.d.ts +18 -0
  44. package/dist/i18n/i18n.d.ts.map +1 -0
  45. package/dist/i18n/i18n.js +505 -0
  46. package/dist/i18n/i18n.js.map +1 -0
  47. package/dist/index.d.ts +7 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +31 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/interpreter/interpreter.d.ts +40 -0
  52. package/dist/interpreter/interpreter.d.ts.map +1 -0
  53. package/dist/interpreter/interpreter.js +415 -0
  54. package/dist/interpreter/interpreter.js.map +1 -0
  55. package/dist/lexer/lexer.d.ts +87 -0
  56. package/dist/lexer/lexer.d.ts.map +1 -0
  57. package/dist/lexer/lexer.js +425 -0
  58. package/dist/lexer/lexer.js.map +1 -0
  59. package/dist/lny-config.yml +6 -0
  60. package/dist/parser/parser.d.ts +50 -0
  61. package/dist/parser/parser.d.ts.map +1 -0
  62. package/dist/parser/parser.js +605 -0
  63. package/dist/parser/parser.js.map +1 -0
  64. package/dist/repl.d.ts +3 -0
  65. package/dist/repl.d.ts.map +1 -0
  66. package/dist/repl.js +472 -0
  67. package/dist/repl.js.map +1 -0
  68. package/dist/run-file.d.ts +2 -0
  69. package/dist/run-file.d.ts.map +1 -0
  70. package/dist/run-file.js +140 -0
  71. package/dist/run-file.js.map +1 -0
  72. package/dist/test.d.ts +2 -0
  73. package/dist/test.d.ts.map +1 -0
  74. package/dist/test.js +72 -0
  75. package/dist/test.js.map +1 -0
  76. package/dist/world/world.d.ts +103 -0
  77. package/dist/world/world.d.ts.map +1 -0
  78. package/dist/world/world.js +416 -0
  79. package/dist/world/world.js.map +1 -0
  80. package/docs/About.md +19 -0
  81. package/docs/INTERPRETER.md +240 -0
  82. package/docs/README.md +68 -0
  83. package/docs/i18n/README.md +20 -0
  84. package/docs/lny-referenz.md +161 -0
  85. package/docs/lny_ueberblick.md +33 -0
  86. package/examples/00-demo.lny +3 -0
  87. package/examples/01-variable-assignment.lny +4 -0
  88. package/examples/02-conditional.lny +7 -0
  89. package/examples/03-while-loop.lny +6 -0
  90. package/examples/04-for-loop.lny +5 -0
  91. package/examples/05-lenny-movement.lny +10 -0
  92. package/examples/06-procedure.lny +6 -0
  93. package/examples/fuer-range-1.lny +4 -0
  94. package/examples/fuer-range-2.lny +6 -0
  95. package/examples/fuer-range-3.lny +6 -0
  96. package/examples/fuer-range-4.lny +4 -0
  97. package/examples/fuer-range-5.lny +6 -0
  98. package/examples/solange-verschachtelt.lny +12 -0
  99. package/favicon.ico +0 -0
  100. package/index.html +108 -0
  101. package/jest.config.js +7 -0
  102. package/lny-config.yml +6 -0
  103. package/package.json +37 -0
  104. package/settings.json +4 -0
  105. package/src/ast/ast.ts +182 -0
  106. package/src/browser.ts +1274 -0
  107. package/src/examples.ts +68 -0
  108. package/src/i18n/i18n.ts +537 -0
  109. package/src/index.ts +6 -0
  110. package/src/interpreter/interpreter.ts +453 -0
  111. package/src/lexer/lexer.ts +493 -0
  112. package/src/parser/parser.ts +711 -0
  113. package/src/repl.ts +496 -0
  114. package/src/test.ts +71 -0
  115. package/src/world/world.ts +512 -0
  116. package/style.css +315 -0
  117. package/test1.lny +2 -0
  118. package/tests/interpreter.test.ts +42 -0
  119. package/tests/parser.test.ts +18 -0
  120. package/tsconfig.json +19 -0
  121. package/vercel.json +7 -0
  122. package/vscode-lny/.vscode/launch.json +13 -0
  123. package/vscode-lny/.vscodeignore +3 -0
  124. package/vscode-lny/README.md +83 -0
  125. package/vscode-lny/language-configuration.json +19 -0
  126. package/vscode-lny/license.txt +21 -0
  127. package/vscode-lny/lny-language-0.1.0.vsix +0 -0
  128. package/vscode-lny/package.json +41 -0
  129. package/vscode-lny/snippets/lny.json +136 -0
  130. package/vscode-lny/syntaxes/lny.tmLanguage.json +85 -0
package/dist/repl.js ADDED
@@ -0,0 +1,472 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const readline = __importStar(require("readline"));
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const parser_1 = require("./parser/parser");
41
+ const interpreter_1 = require("./interpreter/interpreter");
42
+ const i18n_1 = require("./i18n/i18n");
43
+ const world_1 = require("./world/world");
44
+ const banner = `
45
+ _ _____ _ _ _ _ _ __ ___
46
+ | | | ____| \\ | | \\ | | \\ / / / _ \\
47
+ | | | _| | \\| | \\| | V / | | | |
48
+ | |___| |___| |\\ | |\\ | /| \\ | |_| |
49
+ |_____|_____|_| \\_|_| \\_|/__| \\_|\\___/
50
+
51
+ lny Interpreter - Interactive REPL
52
+ `;
53
+ const SUPPORTED_LANGUAGES = ['en', 'de', 'fr', 'es', 'it'];
54
+ class LnyREPL {
55
+ constructor() {
56
+ this.language = 'de';
57
+ this.running = true;
58
+ this.echoMode = false;
59
+ // REPL Buffer für mehrzeilige Blöcke
60
+ this.inputBuffer = [];
61
+ this.blockDepth = 0;
62
+ this.language = this.resolveStartupLanguage();
63
+ const startupFieldSize = this.resolveStartupFieldSize();
64
+ this.i18n = new i18n_1.I18n(this.language);
65
+ this.interpreter = new interpreter_1.Interpreter(this.language, {
66
+ worldWidth: startupFieldSize.width,
67
+ worldHeight: startupFieldSize.height,
68
+ });
69
+ this.rl = readline.createInterface({
70
+ input: process.stdin,
71
+ output: process.stdout,
72
+ });
73
+ }
74
+ resolveStartupLanguage() {
75
+ const configLanguage = this.readLanguageFromConfig();
76
+ if (configLanguage) {
77
+ return configLanguage;
78
+ }
79
+ return 'de';
80
+ }
81
+ resolveStartupFieldSize() {
82
+ const configFieldSize = this.readFieldSizeFromConfig();
83
+ if (configFieldSize) {
84
+ return configFieldSize;
85
+ }
86
+ return { width: world_1.DEFAULT_WORLD_WIDTH, height: world_1.DEFAULT_WORLD_HEIGHT };
87
+ }
88
+ readConfigLines() {
89
+ const configPath = path.resolve(process.cwd(), 'lny-config.yml');
90
+ if (!fs.existsSync(configPath) || !fs.statSync(configPath).isFile()) {
91
+ return null;
92
+ }
93
+ try {
94
+ const configContent = fs.readFileSync(configPath, 'utf8').replace(/^\uFEFF/, '');
95
+ return configContent.split(/\r?\n/);
96
+ }
97
+ catch (error) {
98
+ console.warn(`[lny-config.yml] Could not read config: ${error.message}`);
99
+ return null;
100
+ }
101
+ }
102
+ normalizeConfigValue(rawValue) {
103
+ return rawValue.split('#')[0].trim().replace(/^['"]|['"]$/g, '').trim();
104
+ }
105
+ readLanguageFromConfig() {
106
+ const lines = this.readConfigLines();
107
+ if (!lines) {
108
+ return null;
109
+ }
110
+ for (const rawLine of lines) {
111
+ const line = rawLine.trim();
112
+ if (!line || line.startsWith('#')) {
113
+ continue;
114
+ }
115
+ const match = line.match(/^language\s*:\s*(.+)$/i);
116
+ if (!match) {
117
+ continue;
118
+ }
119
+ const normalized = this.normalizeConfigValue(match[1]).toLowerCase();
120
+ const candidate = normalized.split(/[-_]/)[0];
121
+ if (this.isSupportedLanguage(candidate)) {
122
+ return candidate;
123
+ }
124
+ console.warn(`[lny-config.yml] Invalid language '${match[1]}'. Supported values: ${SUPPORTED_LANGUAGES.join(', ')}`);
125
+ return null;
126
+ }
127
+ return null;
128
+ }
129
+ readFieldSizeFromConfig() {
130
+ const lines = this.readConfigLines();
131
+ if (!lines) {
132
+ return null;
133
+ }
134
+ let width = world_1.DEFAULT_WORLD_WIDTH;
135
+ let height = world_1.DEFAULT_WORLD_HEIGHT;
136
+ let foundSizeConfig = false;
137
+ for (const rawLine of lines) {
138
+ const line = rawLine.trim();
139
+ if (!line || line.startsWith('#')) {
140
+ continue;
141
+ }
142
+ const sizeMatch = line.match(/^field(?:_|-)?size\s*:\s*(.+)$/i);
143
+ if (sizeMatch) {
144
+ const parsedSize = this.parseFieldSize(this.normalizeConfigValue(sizeMatch[1]));
145
+ if (parsedSize) {
146
+ width = parsedSize.width;
147
+ height = parsedSize.height;
148
+ foundSizeConfig = true;
149
+ }
150
+ else {
151
+ console.warn(`[lny-config.yml] Invalid field size '${sizeMatch[1]}'. Expected format: WIDTHxHEIGHT (e.g. 10x10).`);
152
+ }
153
+ continue;
154
+ }
155
+ const widthMatch = line.match(/^field(?:_|-)?width\s*:\s*(.+)$/i);
156
+ if (widthMatch) {
157
+ const parsedWidth = this.parsePositiveInt(this.normalizeConfigValue(widthMatch[1]));
158
+ if (parsedWidth !== null) {
159
+ width = parsedWidth;
160
+ foundSizeConfig = true;
161
+ }
162
+ else {
163
+ console.warn(`[lny-config.yml] Invalid field width '${widthMatch[1]}'. Expected a positive integer.`);
164
+ }
165
+ continue;
166
+ }
167
+ const heightMatch = line.match(/^field(?:_|-)?height\s*:\s*(.+)$/i);
168
+ if (heightMatch) {
169
+ const parsedHeight = this.parsePositiveInt(this.normalizeConfigValue(heightMatch[1]));
170
+ if (parsedHeight !== null) {
171
+ height = parsedHeight;
172
+ foundSizeConfig = true;
173
+ }
174
+ else {
175
+ console.warn(`[lny-config.yml] Invalid field height '${heightMatch[1]}'. Expected a positive integer.`);
176
+ }
177
+ }
178
+ }
179
+ return foundSizeConfig ? { width, height } : null;
180
+ }
181
+ parseFieldSize(rawValue) {
182
+ const match = rawValue.match(/^(\d+)\s*[xX]\s*(\d+)$/);
183
+ if (!match) {
184
+ return null;
185
+ }
186
+ const width = this.parsePositiveInt(match[1]);
187
+ const height = this.parsePositiveInt(match[2]);
188
+ if (width === null || height === null) {
189
+ return null;
190
+ }
191
+ return { width, height };
192
+ }
193
+ parsePositiveInt(rawValue) {
194
+ const numericValue = Number(rawValue);
195
+ return Number.isInteger(numericValue) && numericValue > 0 ? numericValue : null;
196
+ }
197
+ isSupportedLanguage(value) {
198
+ return SUPPORTED_LANGUAGES.includes(value);
199
+ }
200
+ async start(initialScriptPath) {
201
+ if (initialScriptPath) {
202
+ // Skriptdatei-Modus: Kein Banner, keine REPL-Infos anzeigen
203
+ this.executeScriptFile(initialScriptPath);
204
+ return;
205
+ }
206
+ // Interaktiver REPL-Modus: Banner und Infos anzeigen
207
+ console.clear();
208
+ console.log(banner);
209
+ try {
210
+ const pkgPath = path.resolve(__dirname, '../..', 'package.json');
211
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
212
+ if (pkg.version) {
213
+ console.log(`Version: ${pkg.version}\n`);
214
+ }
215
+ }
216
+ catch (e) {
217
+ // Fehler ignorieren, falls package.json nicht gefunden wird
218
+ }
219
+ console.log(`${this.i18n.t('msg_language_label')}: ${this.language.toUpperCase()}\n`);
220
+ console.log(`${this.i18n.t('msg_commands_label')}:`);
221
+ console.log(` ${this.i18n.t('msg_cmd_exit')}`);
222
+ console.log(` ${this.i18n.t('msg_cmd_lang')}`);
223
+ console.log(` ${this.i18n.t('msg_cmd_clear')}`);
224
+ console.log(` ${this.i18n.t('msg_cmd_state')}`);
225
+ console.log(` ${this.i18n.t('msg_cmd_run')}`);
226
+ console.log(` ${this.i18n.t('msg_cmd_help')}`);
227
+ console.log(` ${this.i18n.t('msg_cmd_echo')}`);
228
+ console.log(`\n${this.i18n.t('msg_help_more')}`);
229
+ await this.prompt();
230
+ }
231
+ async prompt() {
232
+ while (this.running) {
233
+ await new Promise((resolve) => {
234
+ this.rl.question(this.i18n.t('msg_repl_prompt'), (input) => {
235
+ this.handleInput(input);
236
+ resolve();
237
+ });
238
+ });
239
+ }
240
+ }
241
+ handleInput(input) {
242
+ const trimmed = input.trim();
243
+ if (!trimmed) {
244
+ return;
245
+ }
246
+ // Handle special commands
247
+ if (trimmed.startsWith(':')) {
248
+ this.handleCommand(trimmed);
249
+ return;
250
+ }
251
+ // Blockstart/Blockende erkennen (deutsche und englische Keywords)
252
+ const blockStartPattern = /^(FUER|FÜR|FOR|WENN|IF|SOLANGE|WHILE|PROCEDURE|PROZEDUR|PROC)\b/i;
253
+ const blockEndPattern = /^(ENDE|END)\b/i;
254
+ if (blockStartPattern.test(trimmed)) {
255
+ this.blockDepth++;
256
+ }
257
+ if (blockEndPattern.test(trimmed)) {
258
+ if (this.blockDepth > 0)
259
+ this.blockDepth--;
260
+ }
261
+ this.inputBuffer.push(input);
262
+ // Nur ausführen, wenn alle Blöcke geschlossen sind
263
+ if (this.blockDepth === 0) {
264
+ const code = this.inputBuffer.join('\n');
265
+ this.inputBuffer = [];
266
+ this.executeCode(code, false);
267
+ }
268
+ }
269
+ handleCommand(command) {
270
+ const fs = require('fs');
271
+ const path = require('path');
272
+ const rawCommand = command.substring(1).trim();
273
+ const firstSpace = rawCommand.indexOf(' ');
274
+ const cmd = (firstSpace === -1 ? rawCommand : rawCommand.slice(0, firstSpace)).toLowerCase();
275
+ const commandArg = firstSpace === -1 ? '' : rawCommand.slice(firstSpace + 1).trim();
276
+ switch (cmd) {
277
+ case 'speichern': {
278
+ const filename = commandArg || 'lny-save.json';
279
+ const world = this.interpreter.getWorld();
280
+ const state = world.exportState();
281
+ try {
282
+ fs.writeFileSync(path.resolve(process.cwd(), filename), JSON.stringify(state, null, 2), 'utf8');
283
+ console.log(`Zustand gespeichert in ${filename}`);
284
+ }
285
+ catch (e) {
286
+ console.error(`Fehler beim Speichern: ${(e && e.message) || e}`);
287
+ }
288
+ break;
289
+ }
290
+ case 'laden': {
291
+ const filename = commandArg || 'lny-save.json';
292
+ const world = this.interpreter.getWorld();
293
+ try {
294
+ const data = fs.readFileSync(path.resolve(process.cwd(), filename), 'utf8');
295
+ const state = JSON.parse(data);
296
+ world.importState(state);
297
+ console.log(`Zustand aus ${filename} geladen.`);
298
+ }
299
+ catch (e) {
300
+ console.error(`Fehler beim Laden: ${(e && e.message) || e}`);
301
+ }
302
+ break;
303
+ }
304
+ case 'echo':
305
+ if (commandArg === 'on') {
306
+ this.echoMode = true;
307
+ console.log('ECHO-Modus aktiviert.');
308
+ }
309
+ else if (commandArg === 'off') {
310
+ this.echoMode = false;
311
+ console.log('ECHO-Modus deaktiviert.');
312
+ }
313
+ else {
314
+ console.log('Verwendung: :echo on|off');
315
+ }
316
+ return;
317
+ case 'exit':
318
+ console.log(this.i18n.t('msg_exit'));
319
+ this.running = false;
320
+ this.rl.close();
321
+ process.exit(0);
322
+ break;
323
+ case 'lang': {
324
+ const newLang = commandArg.split(/\s+/)[0].toLowerCase();
325
+ if (newLang && this.isSupportedLanguage(newLang)) {
326
+ this.language = newLang;
327
+ this.i18n.setLanguage(this.language);
328
+ this.interpreter.setLanguage(this.language);
329
+ console.log(this.i18n.t('msg_language_changed', { lang: newLang.toUpperCase() }));
330
+ }
331
+ else {
332
+ console.log(this.i18n.t('msg_supported_languages'));
333
+ }
334
+ break;
335
+ }
336
+ case 'run': {
337
+ if (!commandArg) {
338
+ console.log(this.i18n.t('msg_run_usage'));
339
+ break;
340
+ }
341
+ this.executeScriptFile(commandArg);
342
+ break;
343
+ }
344
+ case 'clear':
345
+ console.clear();
346
+ console.log(banner);
347
+ break;
348
+ case 'state': {
349
+ const state = this.interpreter.getWorld().getLennyState();
350
+ console.log(`${this.i18n.t('msg_lenny_state_title')}:`);
351
+ console.log(` ${this.i18n.t('msg_position')}: (${state.x}, ${state.y})`);
352
+ console.log(` ${this.i18n.t('msg_direction')}: ${state.direction}`);
353
+ console.log(` ${this.i18n.t('msg_bones')}: ${state.bones}`);
354
+ console.log(` ${this.i18n.t('msg_run_count')}: ${state.howManyRun}`);
355
+ console.log(` ${this.i18n.t('msg_turn_count')}: ${state.howManyTurn}`);
356
+ console.log(` ${this.i18n.t('msg_jump_count')}: ${state.howManyJump}`);
357
+ break;
358
+ }
359
+ case 'help':
360
+ console.log(`${this.i18n.t('msg_help_title')}:`);
361
+ console.log(` ${this.i18n.t('msg_help_variables')}`);
362
+ console.log(` ${this.i18n.t('msg_help_control')}`);
363
+ console.log(` ${this.i18n.t('msg_help_loops_while')}`);
364
+ console.log(` ${this.i18n.t('msg_help_loops_for')}`);
365
+ console.log(` ${this.i18n.t('msg_help_actions')}`);
366
+ console.log(` ${this.i18n.t('msg_help_sensors')}`);
367
+ console.log(` ${this.i18n.t('msg_help_output')}`);
368
+ console.log(` ${this.i18n.t('msg_help_repl_run')}`);
369
+ console.log(` ${this.i18n.t('msg_help_echo')}`);
370
+ console.log(`\n${this.i18n.t('msg_help_more')}`);
371
+ break;
372
+ default:
373
+ console.log(this.i18n.t('msg_unknown_command', { cmd }));
374
+ console.log(this.i18n.t('msg_commands_short'));
375
+ }
376
+ }
377
+ getExecutionFinishedMessage() {
378
+ const messages = {
379
+ de: 'Ausfuehrung abgeschlossen.',
380
+ en: 'Execution finished.',
381
+ fr: 'Execution terminee.',
382
+ es: 'Ejecucion finalizada.',
383
+ it: 'Esecuzione completata.',
384
+ };
385
+ return messages[this.language];
386
+ }
387
+ executeCode(code, showFinishedMessage) {
388
+ try {
389
+ const parser = new parser_1.Parser(code, this.language);
390
+ const ast = parser.parse();
391
+ this.interpreter.clearOutput();
392
+ // --- ECHO-Modus: Hook für LAUF/DREH_LINKS ---
393
+ this.interpreter.getWorld().setEchoCallback(this.echoMode ? (state) => {
394
+ const s = state;
395
+ let lines = [
396
+ `State:`,
397
+ ` Pos: (${s.x},${s.y})`,
398
+ ` Dir: ${s.direction}`,
399
+ ` Bones: ${s.bones}`,
400
+ ` Runs: ${s.howManyRun}`,
401
+ ` Turns: ${s.howManyTurn}`,
402
+ ` IST_KNOCHEN: ${s.ist_knochen}`
403
+ ];
404
+ if (s.field) {
405
+ lines.push(` Feld:`);
406
+ lines.push(` Bones: ${s.field.bones}`);
407
+ lines.push(` Log: ${s.field.hasLog ? 'ja' : 'nein'}`);
408
+ lines.push(` Doghut: ${s.field.hasDoghut ? 'ja' : 'nein'}`);
409
+ }
410
+ else {
411
+ lines.push(' Feld: ungültig');
412
+ }
413
+ console.log(lines.join('\n'));
414
+ } : undefined);
415
+ this.interpreter.interpret(ast);
416
+ // ---
417
+ const output = this.interpreter.getOutput();
418
+ if (output) {
419
+ console.log(output);
420
+ }
421
+ if (showFinishedMessage) {
422
+ console.log(this.getExecutionFinishedMessage());
423
+ }
424
+ return true;
425
+ }
426
+ catch (error) {
427
+ console.error(`${this.i18n.t('msg_error_prefix')}: ${error.message}`);
428
+ return false;
429
+ }
430
+ }
431
+ executeScriptFile(scriptPath) {
432
+ const resolvedPath = path.resolve(process.cwd(), scriptPath);
433
+ if (path.extname(resolvedPath).toLowerCase() !== '.lny') {
434
+ console.error(this.i18n.t('msg_run_must_lny', { path: scriptPath }));
435
+ return false;
436
+ }
437
+ if (!fs.existsSync(resolvedPath) || !fs.statSync(resolvedPath).isFile()) {
438
+ console.error(this.i18n.t('msg_run_file_not_found', { path: scriptPath }));
439
+ return false;
440
+ }
441
+ let code = '';
442
+ try {
443
+ code = fs.readFileSync(resolvedPath, 'utf8').replace(/^\uFEFF/, '');
444
+ }
445
+ catch (error) {
446
+ console.error(`${this.i18n.t('msg_error_prefix')}: ${error.message}`);
447
+ return false;
448
+ }
449
+ const success = this.executeCode(code, true);
450
+ if (success) {
451
+ console.log(this.i18n.t('msg_run_file_executed', { path: resolvedPath }));
452
+ process.exit(0); // REPL nach Skriptausführung beenden
453
+ }
454
+ return success;
455
+ }
456
+ }
457
+ // Main
458
+ const repl = new LnyREPL();
459
+ const startupScriptPath = process.argv[2];
460
+ // Strg+C (SIGINT) sauber abfangen
461
+ process.on('SIGINT', () => {
462
+ console.log('\nProgramm durch Benutzer abgebrochen.');
463
+ if (repl && repl['rl']) {
464
+ repl['rl'].close();
465
+ }
466
+ process.exit(0);
467
+ });
468
+ repl.start(startupScriptPath).catch((error) => {
469
+ console.error(`Fatal error: ${String(error)}`);
470
+ process.exit(1);
471
+ });
472
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-file.d.ts","sourceRoot":"","sources":["../src/run-file.ts"],"names":[],"mappings":""}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs = __importStar(require("fs"));
37
+ const path = __importStar(require("path"));
38
+ const parser_1 = require("./parser/parser");
39
+ const interpreter_1 = require("./interpreter/interpreter");
40
+ const SUPPORTED_LANGUAGES = ['en', 'de', 'fr', 'es', 'it'];
41
+ function detectLanguage() {
42
+ const systemLang = (process.env.LANG || process.env.LANGUAGE || 'de')
43
+ .substring(0, 2)
44
+ .toLowerCase();
45
+ if (SUPPORTED_LANGUAGES.includes(systemLang)) {
46
+ return systemLang;
47
+ }
48
+ return 'de';
49
+ }
50
+ function printUsage() {
51
+ console.error('Usage: npm run run:lny -- <path/to/script.lny> [--lang <en|de|fr|es|it>]');
52
+ }
53
+ function parseArgs(args) {
54
+ let filePath = null;
55
+ let language = detectLanguage();
56
+ for (let i = 0; i < args.length; i++) {
57
+ const arg = args[i];
58
+ if (arg === '--lang' || arg === '-l') {
59
+ const next = args[i + 1];
60
+ if (!next) {
61
+ console.error('Missing value for --lang');
62
+ return null;
63
+ }
64
+ if (!SUPPORTED_LANGUAGES.includes(next)) {
65
+ console.error(`Unsupported language: ${next}`);
66
+ return null;
67
+ }
68
+ language = next;
69
+ i++;
70
+ continue;
71
+ }
72
+ if (arg.startsWith('--lang=')) {
73
+ const value = arg.substring('--lang='.length);
74
+ if (!SUPPORTED_LANGUAGES.includes(value)) {
75
+ console.error(`Unsupported language: ${value}`);
76
+ return null;
77
+ }
78
+ language = value;
79
+ continue;
80
+ }
81
+ if (arg.startsWith('-')) {
82
+ console.error(`Unknown option: ${arg}`);
83
+ return null;
84
+ }
85
+ if (!filePath) {
86
+ filePath = arg;
87
+ continue;
88
+ }
89
+ console.error(`Unexpected argument: ${arg}`);
90
+ return null;
91
+ }
92
+ if (!filePath) {
93
+ return null;
94
+ }
95
+ return { filePath, language };
96
+ }
97
+ function runScript(options) {
98
+ const resolvedPath = path.resolve(process.cwd(), options.filePath);
99
+ if (path.extname(resolvedPath).toLowerCase() !== '.lny') {
100
+ console.error(`Only .lny files are allowed: ${options.filePath}`);
101
+ return 1;
102
+ }
103
+ if (!fs.existsSync(resolvedPath) || !fs.statSync(resolvedPath).isFile()) {
104
+ console.error(`Script file not found: ${options.filePath}`);
105
+ return 1;
106
+ }
107
+ let code = '';
108
+ try {
109
+ code = fs.readFileSync(resolvedPath, 'utf8').replace(/^\uFEFF/, '');
110
+ }
111
+ catch (error) {
112
+ console.error(`Error reading file: ${error.message}`);
113
+ return 1;
114
+ }
115
+ try {
116
+ const parser = new parser_1.Parser(code, options.language);
117
+ const ast = parser.parse();
118
+ const interpreter = new interpreter_1.Interpreter(options.language);
119
+ interpreter.interpret(ast);
120
+ const output = interpreter.getOutput();
121
+ if (output) {
122
+ console.log(output);
123
+ }
124
+ return 0;
125
+ }
126
+ catch (error) {
127
+ console.error(`Error: ${error.message}`);
128
+ return 1;
129
+ }
130
+ }
131
+ function main() {
132
+ const options = parseArgs(process.argv.slice(2));
133
+ if (!options) {
134
+ printUsage();
135
+ process.exit(1);
136
+ }
137
+ process.exit(runScript(options));
138
+ }
139
+ main();
140
+ //# sourceMappingURL=run-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-file.js","sourceRoot":"","sources":["../src/run-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,4CAAyC;AACzC,2DAAwD;AAGxD,MAAM,mBAAmB,GAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAOvE,SAAS,cAAc;IACrB,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;SAClE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;SACf,WAAW,EAAE,CAAC;IAEjB,IAAI,mBAAmB,CAAC,QAAQ,CAAC,UAAsB,CAAC,EAAE,CAAC;QACzD,OAAO,UAAsB,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,QAAQ,GAAa,cAAc,EAAE,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAgB,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,GAAG,IAAgB,CAAC;YAC5B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAiB,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,GAAG,KAAiB,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,GAAG,CAAC;YACf,SAAS;QACX,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,OAAmB;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAwB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACX,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,IAAI,EAAE,CAAC"}
package/dist/test.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":""}