@kawaijs/parser 0.1.6 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EAEX,YAAY,EACb,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,qBAAqB,CAAK;gBAEtB,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,eAA0C;IAK9E,OAAO,IAAI,YAAY;IAyC9B,OAAO,CAAC,YAAY;IA6JpB,OAAO,CAAC,uBAAuB;CAiBhC"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,WAAW,EAEX,YAAY,EACb,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,qBAAqB,CAAK;gBAEtB,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,eAA0C;IAK9E,OAAO,IAAI,YAAY;IAyC9B,OAAO,CAAC,YAAY;IAwNpB,OAAO,CAAC,uBAAuB;CAiBhC"}
package/dist/compiler.js CHANGED
@@ -47,7 +47,8 @@ export class Compiler {
47
47
  }
48
48
  compileBlock(currentLabel, statements, labels) {
49
49
  const instructions = [];
50
- for (const stmt of statements) {
50
+ for (let i = 0; i < statements.length; i++) {
51
+ const stmt = statements[i];
51
52
  switch (stmt.type) {
52
53
  case 'SceneStmt':
53
54
  instructions.push({
@@ -84,12 +85,21 @@ export class Compiler {
84
85
  });
85
86
  break;
86
87
  case 'MenuStmt': {
88
+ const remainingStatements = statements.slice(i + 1);
89
+ const hasRemaining = remainingStatements.length > 0;
90
+ this.anonymousLabelCounter += 1;
91
+ const mergeLabel = `__menu_merge_${currentLabel}_${this.anonymousLabelCounter}`;
87
92
  const choiceOptions = [];
88
93
  for (const choice of stmt.choices) {
89
94
  this.anonymousLabelCounter += 1;
90
95
  const syntheticLabel = `__choice_${currentLabel}_${this.anonymousLabelCounter}`;
91
- // Compile choice body into its own synthetic label block
92
96
  const choiceInstructions = this.compileBlock(syntheticLabel, choice.body, labels);
97
+ if (hasRemaining || choice.body.length === 0) {
98
+ const lastInst = choiceInstructions[choiceInstructions.length - 1];
99
+ if (!lastInst || (lastInst.type !== 'jump' && lastInst.type !== 'return')) {
100
+ choiceInstructions.push({ type: 'jump', targetLabel: mergeLabel });
101
+ }
102
+ }
93
103
  labels[syntheticLabel] = choiceInstructions;
94
104
  choiceOptions.push({
95
105
  text: choice.text,
@@ -103,7 +113,10 @@ export class Compiler {
103
113
  choices: choiceOptions,
104
114
  loc: stmt.loc
105
115
  });
106
- break;
116
+ if (hasRemaining) {
117
+ labels[mergeLabel] = this.compileBlock(mergeLabel, remainingStatements, labels);
118
+ }
119
+ return instructions;
107
120
  }
108
121
  case 'JumpStmt':
109
122
  instructions.push({
@@ -128,34 +141,72 @@ export class Compiler {
128
141
  });
129
142
  break;
130
143
  case 'IfStmt': {
144
+ const remainingStatements = statements.slice(i + 1);
145
+ const hasRemaining = remainingStatements.length > 0;
131
146
  this.anonymousLabelCounter += 1;
132
- const thenLabel = `__if_then_${currentLabel}_${this.anonymousLabelCounter}`;
133
147
  const mergeLabel = `__if_merge_${currentLabel}_${this.anonymousLabelCounter}`;
148
+ // Compile Then Branch
149
+ this.anonymousLabelCounter += 1;
150
+ const thenLabel = `__if_then_${currentLabel}_${this.anonymousLabelCounter}`;
134
151
  const thenInstructions = this.compileBlock(thenLabel, stmt.thenBranch, labels);
135
- // If thenBranch doesn't end with jump or return, fall through to mergeLabel
136
- thenInstructions.push({ type: 'jump', targetLabel: mergeLabel });
152
+ if (hasRemaining || stmt.thenBranch.length === 0) {
153
+ const lastInst = thenInstructions[thenInstructions.length - 1];
154
+ if (!lastInst || (lastInst.type !== 'jump' && lastInst.type !== 'return')) {
155
+ thenInstructions.push({ type: 'jump', targetLabel: mergeLabel });
156
+ }
157
+ }
137
158
  labels[thenLabel] = thenInstructions;
138
- let elseLabel;
159
+ // Compile Else & Elif Branches
160
+ let currentBranchTarget = mergeLabel;
139
161
  if (stmt.elseBranch) {
140
- elseLabel = `__if_else_${currentLabel}_${this.anonymousLabelCounter}`;
162
+ this.anonymousLabelCounter += 1;
163
+ const elseLabel = `__if_else_${currentLabel}_${this.anonymousLabelCounter}`;
141
164
  const elseInstructions = this.compileBlock(elseLabel, stmt.elseBranch.body, labels);
142
- elseInstructions.push({ type: 'jump', targetLabel: mergeLabel });
165
+ if (hasRemaining || stmt.elseBranch.body.length === 0) {
166
+ const lastInst = elseInstructions[elseInstructions.length - 1];
167
+ if (!lastInst || (lastInst.type !== 'jump' && lastInst.type !== 'return')) {
168
+ elseInstructions.push({ type: 'jump', targetLabel: mergeLabel });
169
+ }
170
+ }
143
171
  labels[elseLabel] = elseInstructions;
172
+ currentBranchTarget = elseLabel;
144
173
  }
145
- else {
146
- elseLabel = mergeLabel;
174
+ const elifBranches = stmt.elifBranches || [];
175
+ for (let e = elifBranches.length - 1; e >= 0; e--) {
176
+ const elif = elifBranches[e];
177
+ this.anonymousLabelCounter += 1;
178
+ const elifThenLabel = `__elif_then_${currentLabel}_${this.anonymousLabelCounter}`;
179
+ const elifTestLabel = `__elif_test_${currentLabel}_${this.anonymousLabelCounter}`;
180
+ const elifThenInst = this.compileBlock(elifThenLabel, elif.body, labels);
181
+ if (hasRemaining || elif.body.length === 0) {
182
+ const lastInst = elifThenInst[elifThenInst.length - 1];
183
+ if (!lastInst || (lastInst.type !== 'jump' && lastInst.type !== 'return')) {
184
+ elifThenInst.push({ type: 'jump', targetLabel: mergeLabel });
185
+ }
186
+ }
187
+ labels[elifThenLabel] = elifThenInst;
188
+ labels[elifTestLabel] = [
189
+ {
190
+ type: 'branch',
191
+ condition: elif.condition,
192
+ thenLabel: elifThenLabel,
193
+ elseLabel: currentBranchTarget,
194
+ loc: elif.loc
195
+ }
196
+ ];
197
+ currentBranchTarget = elifTestLabel;
147
198
  }
148
199
  instructions.push({
149
200
  type: 'branch',
150
201
  condition: stmt.condition,
151
202
  thenLabel,
152
- elseLabel,
203
+ elseLabel: currentBranchTarget,
153
204
  loc: stmt.loc
154
205
  });
155
- // Create merge block for following instructions
156
- labels[mergeLabel] = [];
157
- // Switch compiling remainder of statements into mergeLabel if needed
158
- break;
206
+ if (hasRemaining) {
207
+ labels[mergeLabel] = this.compileBlock(mergeLabel, remainingStatements, labels);
208
+ }
209
+ return instructions;
159
210
  }
160
211
  case 'PlayStmt':
161
212
  instructions.push({
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,MAAM,OAAO,QAAQ;IACF,OAAO,CAAc;IACrB,OAAO,CAAkB;IAClC,qBAAqB,GAAG,CAAC,CAAC;IAElC,YAAY,OAAoB,EAAE,UAA2B,EAAE,cAAc,EAAE,IAAI,EAAE;QACnF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,OAAO;QACZ,MAAM,UAAU,GAAwC,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAkC,EAAE,CAAC;QAEjD,iEAAiE;QACjE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,IAAI,CAAC,WAAW;oBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,SAAS,CAAC;wBAClB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,gCAAgC,IAAI,CAAC,IAAI,GAAG;wBACrD,QAAQ,EAAE,OAAO;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,sBAAsB;gBAC7B,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC/D;YACD,UAAU;YACV,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,YAAoB,EACpB,UAA2B,EAC3B,MAAqC;QAErC,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,WAAW;oBACd,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,UAAU;oBACb,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,UAAU;oBACb,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,cAAc;oBACjB,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,aAAa,GAAmB,EAAE,CAAC;oBACzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAClC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC;wBAChC,MAAM,cAAc,GAAG,YAAY,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAEhF,yDAAyD;wBACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBAClF,MAAM,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;wBAE5C,aAAa,CAAC,IAAI,CAAC;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,WAAW,EAAE,cAAc;4BAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;yBAC5B,CAAC,CAAC;oBACL,CAAC;oBAED,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,OAAO,EAAE,aAAa;wBACtB,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBAED,KAAK,UAAU;oBACb,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,MAAM;wBACZ,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,YAAY;oBACf,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,QAAQ;wBACd,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,SAAS;oBACZ,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,KAAK;wBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC;oBAChC,MAAM,SAAS,GAAG,aAAa,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC5E,MAAM,UAAU,GAAG,cAAc,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAE9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAC/E,4EAA4E;oBAC5E,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;oBACjE,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;oBAErC,IAAI,SAA6B,CAAC;oBAClC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,SAAS,GAAG,aAAa,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBACpF,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;wBACjE,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,SAAS,GAAG,UAAU,CAAC;oBACzB,CAAC;oBAED,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,SAAS;wBACT,SAAS;wBACT,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBAEH,gDAAgD;oBAChD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;oBACxB,qEAAqE;oBACrE,MAAM;gBACR,CAAC;gBAED,KAAK,UAAU;oBACb,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,UAAU;oBACb,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,uBAAuB,CAAC,MAAqC;QACnE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjD,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/D,MAAM,IAAI,SAAS,CAAC;wBAClB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,kBAAkB,IAAI,CAAC,WAAW,oBAAoB,SAAS,GAAG;wBAC3E,QAAQ,EAAE,OAAO;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,IAAI,EAAE,qBAAqB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACjG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kawaijs/parser",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Lexer, Parser, Compiler, and Diagnostics for Kawa Script",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -25,7 +25,7 @@
25
25
  "typecheck": "tsc --noEmit"
26
26
  },
27
27
  "dependencies": {
28
- "@kawaijs/ast": "^0.1.6"
28
+ "@kawaijs/ast": "^0.1.7"
29
29
  },
30
30
  "keywords": [
31
31
  "kawaijs",