yukigo-wollok-parser 0.1.1 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.1.2 (2026-04-11)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated yukigo-ast to 0.2.0
6
+
1
7
  ## 0.1.0 (2025-12-09)
2
8
 
3
9
  ### 🚀 Features
@@ -0,0 +1,7 @@
1
+ import { AST, Expression, YukigoParser } from "yukigo-ast";
2
+ export declare class YukigoWollokParser implements YukigoParser {
3
+ errors: string[];
4
+ constructor();
5
+ parse(code: string): AST;
6
+ parseExpression(code: string): Expression;
7
+ }
@@ -0,0 +1,39 @@
1
+ import { parse } from "wollok-ts";
2
+ import { WollokToYukigoTransformer } from "./transformer.js";
3
+ class UnexpectedToken extends Error {
4
+ constructor(line, column, expectation) {
5
+ super(`Parse error at line ${line} column ${column}: expected ${expectation}.`);
6
+ }
7
+ }
8
+ export class YukigoWollokParser {
9
+ errors = [];
10
+ constructor() {
11
+ this.errors = [];
12
+ }
13
+ parse(code) {
14
+ const parserResult = parse.File("example").parse(code);
15
+ if (parserResult.status === false) {
16
+ const { index, expected } = parserResult;
17
+ const expectation = expected.join(" or ");
18
+ throw new UnexpectedToken(index.line, index.column, expectation);
19
+ }
20
+ const resultAST = parserResult.value;
21
+ const transformer = new WollokToYukigoTransformer();
22
+ const yukigoAst = transformer.transform(resultAST);
23
+ return yukigoAst;
24
+ }
25
+ parseExpression(code) {
26
+ const parserResult = parse.Expression.parse(code);
27
+ if (parserResult.status === false) {
28
+ const { index, expected } = parserResult;
29
+ const expectation = expected.join(" or ");
30
+ const message = `Parse error at line ${index.line} column ${index.column}: expected ${expectation}.`;
31
+ throw new Error(message);
32
+ }
33
+ const resultAST = parserResult.value;
34
+ const transformer = new WollokToYukigoTransformer();
35
+ const yukigoAst = transformer.transformExpr(resultAST);
36
+ return yukigoAst;
37
+ }
38
+ }
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,MAAM,eAAgB,SAAQ,KAAK;IACjC,YAAY,IAAI,EAAE,MAAM,EAAE,WAAW;QACnC,KAAK,CACH,uBAAuB,IAAI,WAAW,MAAM,cAAc,WAAW,GAAG,CACzE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IACtB,MAAM,GAAa,EAAE,CAAC;IAC7B;QACE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,IAAY;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;YACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEnD,OAAO,SAAS,CAAC;IACnB,CAAC;IACM,eAAe,CAAC,IAAY;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;YACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,uBAAuB,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,cAAc,WAAW,GAAG,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;QAErC,MAAM,WAAW,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEvD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import * as Yu from "yukigo-ast";
2
+ import { Node, Package } from "wollok-ts";
3
+ export declare class WollokToYukigoTransformer {
4
+ transform(root: Package): Yu.AST;
5
+ transformExpr(root: Node): Yu.Expression;
6
+ private visit;
7
+ private visitPackage;
8
+ private visitField;
9
+ private visitVariable;
10
+ private visitAssignment;
11
+ private visitNew;
12
+ private visitIf;
13
+ private visitNamedArgument;
14
+ private visitThrow;
15
+ private visitTry;
16
+ private visitCatch;
17
+ private visitSuper;
18
+ private visitSingleton;
19
+ private visitClass;
20
+ private visitMethod;
21
+ private visitParameter;
22
+ private visitReturn;
23
+ private visitBody;
24
+ private visitSend;
25
+ private visitReference;
26
+ private visitSelf;
27
+ private visitLiteral;
28
+ }
@@ -0,0 +1,296 @@
1
+ import * as Yu from "yukigo-ast";
2
+ const ARITHMETIC_BINARY_OPS = {
3
+ "+": "Plus",
4
+ "-": "Minus",
5
+ "*": "Multiply",
6
+ "/": "Divide",
7
+ "%": "Modulo",
8
+ "**": "Power",
9
+ max: "Max",
10
+ min: "Min",
11
+ };
12
+ const COMPARISON_OPS = {
13
+ "==": "Equal",
14
+ "!=": "NotEqual",
15
+ "===": "Same",
16
+ "!==": "NotSame",
17
+ ">=": "GreaterOrEqualThan",
18
+ ">": "GreaterThan",
19
+ "<=": "LessOrEqualThan",
20
+ "<": "LessThan",
21
+ like: "Similar",
22
+ };
23
+ const LOGICAL_BINARY_OPS = {
24
+ "&&": "And",
25
+ and: "And",
26
+ "||": "Or",
27
+ or: "Or",
28
+ };
29
+ const BITWISE_BINARY_OPS = {
30
+ "|": "BitwiseOr",
31
+ "&": "BitwiseAnd",
32
+ "^": "BitwiseXor",
33
+ "<<": "BitwiseLeftShift",
34
+ ">>": "BitwiseRightShift",
35
+ ">>>": "BitwiseUnsignedRightShift",
36
+ };
37
+ function mapLocation(wollokNode) {
38
+ if (wollokNode.sourceMap && wollokNode.sourceMap.start) {
39
+ return new Yu.SourceLocation(wollokNode.sourceMap.start.line, wollokNode.sourceMap.start.column);
40
+ }
41
+ return undefined;
42
+ }
43
+ export class WollokToYukigoTransformer {
44
+ transform(root) {
45
+ const result = this.visit(root);
46
+ return Array.isArray(result) ? result : [result];
47
+ }
48
+ transformExpr(root) {
49
+ const result = this.visit(root);
50
+ return result;
51
+ }
52
+ visit(node) {
53
+ const kind = node.kind;
54
+ switch (kind) {
55
+ case "Package":
56
+ return this.visitPackage(node);
57
+ case "Singleton":
58
+ return this.visitSingleton(node);
59
+ case "Mixin":
60
+ case "Class":
61
+ return this.visitClass(node);
62
+ case "Method":
63
+ return this.visitMethod(node);
64
+ case "Body":
65
+ return this.visitBody(node);
66
+ case "Send":
67
+ return this.visitSend(node);
68
+ case "Literal":
69
+ return this.visitLiteral(node);
70
+ case "Reference":
71
+ return this.visitReference(node);
72
+ case "Parameter":
73
+ return this.visitParameter(node);
74
+ case "Return":
75
+ return this.visitReturn(node);
76
+ case "Variable":
77
+ return this.visitVariable(node);
78
+ case "New":
79
+ return this.visitNew(node);
80
+ case "If":
81
+ return this.visitIf(node);
82
+ case "Field":
83
+ return this.visitField(node);
84
+ case "Assignment":
85
+ return this.visitAssignment(node);
86
+ case "Throw":
87
+ return this.visitThrow(node);
88
+ case "Try":
89
+ return this.visitTry(node);
90
+ case "Catch":
91
+ return this.visitCatch(node);
92
+ case "Self":
93
+ return this.visitSelf(node);
94
+ case "Super":
95
+ return this.visitSuper(node);
96
+ case "NamedArgument":
97
+ return this.visitNamedArgument(node);
98
+ default:
99
+ throw new Error(`Nodo Wollok desconocido o no soportado: ${kind}`);
100
+ }
101
+ }
102
+ visitPackage(node) {
103
+ return node.members.map((member) => this.visit(member));
104
+ }
105
+ visitField(node) {
106
+ const identifier = new Yu.SymbolPrimitive(node.name, mapLocation(node));
107
+ let value;
108
+ if (node.value) {
109
+ value = this.visit(node.value);
110
+ }
111
+ else {
112
+ // default to Nil if no initial value provided
113
+ value = new Yu.NilPrimitive(null, mapLocation(node));
114
+ }
115
+ return new Yu.Attribute(identifier, value, mapLocation(node));
116
+ }
117
+ visitVariable(node) {
118
+ const identifier = new Yu.SymbolPrimitive(node.name, mapLocation(node));
119
+ let expression;
120
+ if (node.value) {
121
+ expression = this.visit(node.value);
122
+ }
123
+ else {
124
+ expression = new Yu.NilPrimitive(null, mapLocation(node));
125
+ }
126
+ return new Yu.Variable(identifier, expression, undefined, mapLocation(node));
127
+ }
128
+ visitAssignment(node) {
129
+ const refName = node.variable.name || node.variable;
130
+ const identifier = new Yu.SymbolPrimitive(refName.toString(), mapLocation(node));
131
+ const expression = this.visit(node.value);
132
+ return new Yu.Assignment(identifier, expression, mapLocation(node));
133
+ }
134
+ visitNew(node) {
135
+ const className = new Yu.SymbolPrimitive(node.instantiated.name, mapLocation(node));
136
+ const args = (node.args || []).map((arg) => this.visit(arg));
137
+ return new Yu.New(className, args, mapLocation(node));
138
+ }
139
+ visitIf(node) {
140
+ const condition = this.visit(node.condition);
141
+ const thenExpr = this.visit(node.thenBody);
142
+ let elseExpr;
143
+ if (node.elseBody) {
144
+ elseExpr = this.visit(node.elseBody);
145
+ }
146
+ else {
147
+ elseExpr = new Yu.Sequence([], mapLocation(node));
148
+ }
149
+ return new Yu.If(condition, thenExpr, elseExpr, mapLocation(node));
150
+ }
151
+ visitNamedArgument(node) {
152
+ const expr = this.visit(node.value);
153
+ return new Yu.NamedArgument(new Yu.SymbolPrimitive(node.name), expr, mapLocation(node));
154
+ }
155
+ visitThrow(node) {
156
+ const exception = this.visit(node.exception);
157
+ return new Yu.Raise(exception, mapLocation(node));
158
+ }
159
+ visitTry(node) {
160
+ const body = this.visit(node.body);
161
+ const catchExprs = (node.catches || []).map((c) => this.visitCatch(c));
162
+ let finallyExpr;
163
+ if (node.always) {
164
+ finallyExpr = this.visit(node.always);
165
+ }
166
+ else {
167
+ finallyExpr = new Yu.Sequence([], mapLocation(node));
168
+ }
169
+ return new Yu.Try(body, catchExprs, finallyExpr, mapLocation(node));
170
+ }
171
+ visitCatch(node) {
172
+ const paramName = node.parameter.name;
173
+ const pattern = new Yu.VariablePattern(new Yu.SymbolPrimitive(paramName, mapLocation(node.parameter)), mapLocation(node.parameter));
174
+ const body = this.visit(node.body);
175
+ return new Yu.Catch([pattern], body, mapLocation(node));
176
+ }
177
+ visitSuper(node) {
178
+ return new Yu.Super(node.args.map((arg) => this.visit(arg)), mapLocation(node));
179
+ }
180
+ visitSingleton(node) {
181
+ const identifier = new Yu.SymbolPrimitive(node.name, mapLocation(node));
182
+ const members = node.members.map((m) => this.visit(m));
183
+ const bodyExpression = new Yu.Sequence(members, mapLocation(node));
184
+ return new Yu.Object(identifier, bodyExpression, mapLocation(node));
185
+ }
186
+ visitClass(node) {
187
+ const identifier = new Yu.SymbolPrimitive(node.name, mapLocation(node));
188
+ const superclass = node.supertypes[0]
189
+ ? new Yu.SymbolPrimitive(node.supertypes[0].reference.name, mapLocation(node.supertypes[0]))
190
+ : undefined;
191
+ const members = node.members.map((m) => this.visit(m));
192
+ const bodyExpression = new Yu.Sequence(members, mapLocation(node));
193
+ const classInstance = new Yu.Class(identifier, superclass, undefined, [], bodyExpression, mapLocation(node));
194
+ return classInstance;
195
+ }
196
+ visitMethod(node) {
197
+ const identifier = new Yu.SymbolPrimitive(node.name, mapLocation(node));
198
+ const patterns = (node.parameters || []).map((param) => this.visit(param));
199
+ if (node.body === "native")
200
+ throw Error("Native methods not supported yet.");
201
+ const bodySequence = this.visit(node.body);
202
+ const unguardedBody = new Yu.UnguardedBody(bodySequence, mapLocation(node.body));
203
+ const equation = new Yu.Equation(patterns, unguardedBody, undefined, mapLocation(node));
204
+ return new Yu.Method(identifier, [equation], mapLocation(node));
205
+ }
206
+ visitParameter(node) {
207
+ const nameSymbol = new Yu.SymbolPrimitive(node.name, mapLocation(node));
208
+ return new Yu.VariablePattern(nameSymbol, mapLocation(node));
209
+ }
210
+ visitReturn(node) {
211
+ const expression = this.visit(node.value);
212
+ return new Yu.Return(expression, mapLocation(node));
213
+ }
214
+ visitBody(node) {
215
+ const statements = node.sentences.map((s) => this.visit(s));
216
+ return new Yu.Sequence(statements, mapLocation(node));
217
+ }
218
+ visitSend(node) {
219
+ const receiver = this.visit(node.receiver);
220
+ const args = (node.args || []).map((arg) => this.visit(arg));
221
+ const op = node.message;
222
+ const loc = mapLocation(node);
223
+ if (args.length === 1) {
224
+ const binaryExpr = transformBinary(op, receiver, args[0], loc);
225
+ if (binaryExpr)
226
+ return binaryExpr;
227
+ }
228
+ if (args.length === 0) {
229
+ const unaryExpr = transformUnary(op, receiver, loc);
230
+ // note that binaryExpr and unaryExpr can be null if it transform functions cant match any operation to the selector
231
+ if (unaryExpr)
232
+ return unaryExpr;
233
+ }
234
+ const selector = new Yu.SymbolPrimitive(op, loc);
235
+ return new Yu.Send(receiver, selector, args, loc);
236
+ }
237
+ visitReference(node) {
238
+ if (node.name === "self")
239
+ return new Yu.Self(mapLocation(node));
240
+ return new Yu.SymbolPrimitive(node.name, mapLocation(node));
241
+ }
242
+ visitSelf(node) {
243
+ return new Yu.Self(mapLocation(node));
244
+ }
245
+ visitLiteral(node) {
246
+ const val = node.value;
247
+ const loc = mapLocation(node);
248
+ const isCollection = Array.isArray(val) &&
249
+ "name" in val[0] &&
250
+ WollokListTypes.includes(val[0].name);
251
+ if (isCollection)
252
+ return new Yu.ListPrimitive(val[1].map((element) => this.visit(element)), loc);
253
+ if (typeof val === "number")
254
+ return new Yu.NumberPrimitive(val, loc);
255
+ if (typeof val === "boolean")
256
+ return new Yu.BooleanPrimitive(val, loc);
257
+ if (val === null)
258
+ return new Yu.NilPrimitive(null, loc);
259
+ return new Yu.StringPrimitive(String(val), loc);
260
+ }
261
+ }
262
+ const WollokListTypes = ["wollok.lang.List", "wollok.lang.Set"];
263
+ function transformBinary(op, left, right, loc) {
264
+ // RangeExpression
265
+ if (op === "..")
266
+ return new Yu.RangeExpression(left, right, undefined, loc);
267
+ // Arithmetic
268
+ if (op in ARITHMETIC_BINARY_OPS)
269
+ return new Yu.ArithmeticBinaryOperation(ARITHMETIC_BINARY_OPS[op], left, right, loc);
270
+ // Comparison
271
+ if (op in COMPARISON_OPS)
272
+ return new Yu.ComparisonOperation(COMPARISON_OPS[op], left, right, loc);
273
+ // Logical
274
+ if (op in LOGICAL_BINARY_OPS)
275
+ return new Yu.LogicalBinaryOperation(LOGICAL_BINARY_OPS[op], left, right, loc);
276
+ // Bitwise
277
+ if (op in BITWISE_BINARY_OPS)
278
+ return new Yu.BitwiseBinaryOperation(BITWISE_BINARY_OPS[op], left, right, loc);
279
+ // String Concatenation
280
+ if (op === "++" || op === "concat")
281
+ return new Yu.StringOperation("Concat", left, right, loc);
282
+ return null;
283
+ }
284
+ function transformUnary(op, receiver, loc) {
285
+ // Logical Negation
286
+ if (["!", "negate"].includes(op))
287
+ return new Yu.LogicalUnaryOperation("Negation", receiver, loc);
288
+ // Arithmetic Negation
289
+ if (["invert", "-"].includes(op))
290
+ return new Yu.ArithmeticUnaryOperation("Negation", receiver, loc);
291
+ // Bitwise Negation
292
+ if (["~", "bitwiseNot"].includes(op))
293
+ return new Yu.BitwiseUnaryOperation("BitwiseNot", receiver, loc);
294
+ return null;
295
+ }
296
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../src/transformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yukigo-wollok-parser",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -30,6 +30,6 @@
30
30
  "moo": "^0.5.2",
31
31
  "nearley": "^2.20.1",
32
32
  "wollok-ts": "^4.2.3",
33
- "yukigo-ast": "0.1.1"
33
+ "yukigo-ast": "^0.2.0"
34
34
  }
35
35
  }