@stevenvo780/st-lang 1.5.7 → 2.0.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.
- package/README.md +346 -69
- package/dist/ast/nodes.d.ts +55 -2
- package/dist/ast/nodes.d.ts.map +1 -1
- package/dist/lexer/lexer.d.ts.map +1 -1
- package/dist/lexer/lexer.js +72 -16
- package/dist/lexer/lexer.js.map +1 -1
- package/dist/lexer/tokens.d.ts +22 -0
- package/dist/lexer/tokens.d.ts.map +1 -1
- package/dist/lexer/tokens.js +46 -0
- package/dist/lexer/tokens.js.map +1 -1
- package/dist/parser/parser.d.ts +20 -0
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +390 -10
- package/dist/parser/parser.js.map +1 -1
- package/dist/profiles/arithmetic/index.d.ts +20 -0
- package/dist/profiles/arithmetic/index.d.ts.map +1 -0
- package/dist/profiles/arithmetic/index.js +222 -0
- package/dist/profiles/arithmetic/index.js.map +1 -0
- package/dist/profiles/classical/propositional.d.ts.map +1 -1
- package/dist/profiles/classical/propositional.js +84 -0
- package/dist/profiles/classical/propositional.js.map +1 -1
- package/dist/profiles/index.d.ts +2 -1
- package/dist/profiles/index.d.ts.map +1 -1
- package/dist/profiles/index.js +4 -1
- package/dist/profiles/index.js.map +1 -1
- package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -1
- package/dist/profiles/intuitionistic/propositional.js +27 -0
- package/dist/profiles/intuitionistic/propositional.js.map +1 -1
- package/dist/profiles/probabilistic/basic.d.ts.map +1 -1
- package/dist/profiles/probabilistic/basic.js +12 -0
- package/dist/profiles/probabilistic/basic.js.map +1 -1
- package/dist/protocol/handler.d.ts +1 -0
- package/dist/protocol/handler.d.ts.map +1 -1
- package/dist/protocol/handler.js +318 -2
- package/dist/protocol/handler.js.map +1 -1
- package/dist/runtime/format.d.ts.map +1 -1
- package/dist/runtime/format.js +94 -2
- package/dist/runtime/format.js.map +1 -1
- package/dist/runtime/interpreter.d.ts +31 -0
- package/dist/runtime/interpreter.d.ts.map +1 -1
- package/dist/runtime/interpreter.js +555 -83
- package/dist/runtime/interpreter.js.map +1 -1
- package/dist/tests/arithmetic.test.d.ts +2 -0
- package/dist/tests/arithmetic.test.d.ts.map +1 -0
- package/dist/tests/arithmetic.test.js +416 -0
- package/dist/tests/arithmetic.test.js.map +1 -0
- package/dist/tests/examples.test.d.ts +2 -0
- package/dist/tests/examples.test.d.ts.map +1 -0
- package/dist/tests/examples.test.js +85 -0
- package/dist/tests/examples.test.js.map +1 -0
- package/dist/tests/v1-features.test.js +339 -2
- package/dist/tests/v1-features.test.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/protocol/handler.js
CHANGED
|
@@ -111,6 +111,28 @@ class ProtocolHandler {
|
|
|
111
111
|
case 'theorem_decl':
|
|
112
112
|
theoremDefs.set(stmt.name, { formula: (0, propositional_1.formulaToString)(stmt.formula), line: stmt.source.line });
|
|
113
113
|
break;
|
|
114
|
+
case 'export_decl':
|
|
115
|
+
// Tratar la declaración interna como si estuviera en el scope global
|
|
116
|
+
const inner = stmt.statement;
|
|
117
|
+
if (inner.kind === 'let_decl') {
|
|
118
|
+
if (inner.letType === 'description') {
|
|
119
|
+
letDefs.set(inner.name, { description: inner.description, line: inner.source.line });
|
|
120
|
+
}
|
|
121
|
+
else if (inner.letType === 'formula') {
|
|
122
|
+
const desc = 'description' in inner ? inner.description : undefined;
|
|
123
|
+
letDefs.set(inner.name, { formula: (0, propositional_1.formulaToString)(inner.formula), description: desc, line: inner.source.line });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else if (inner.kind === 'axiom_decl') {
|
|
127
|
+
axiomDefs.set(inner.name, { formula: (0, propositional_1.formulaToString)(inner.formula), line: inner.source.line });
|
|
128
|
+
}
|
|
129
|
+
else if (inner.kind === 'theorem_decl') {
|
|
130
|
+
theoremDefs.set(inner.name, { formula: (0, propositional_1.formulaToString)(inner.formula), line: inner.source.line });
|
|
131
|
+
}
|
|
132
|
+
else if (inner.kind === 'fn_decl') {
|
|
133
|
+
// Registrar función si fuera posible (habría que añadir functionDefs)
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
114
136
|
case 'theory_decl':
|
|
115
137
|
// Registrar miembros de la teoría como defs prefijados
|
|
116
138
|
for (const member of stmt.members) {
|
|
@@ -175,6 +197,13 @@ class ProtocolHandler {
|
|
|
175
197
|
result: { content: `**Teorema** \`${word}\` = \`${theoremDef.formula}\``, range: { line, column } },
|
|
176
198
|
};
|
|
177
199
|
}
|
|
200
|
+
const staticHover = this.getStaticHoverInfo(word);
|
|
201
|
+
if (staticHover) {
|
|
202
|
+
return {
|
|
203
|
+
id: request.id,
|
|
204
|
+
result: { content: staticHover, range: { line, column } },
|
|
205
|
+
};
|
|
206
|
+
}
|
|
178
207
|
}
|
|
179
208
|
}
|
|
180
209
|
}
|
|
@@ -207,6 +236,95 @@ class ProtocolHandler {
|
|
|
207
236
|
const cleaned = word.replace(/^\.+|\.+$/g, '');
|
|
208
237
|
return cleaned.length > 0 ? cleaned : null;
|
|
209
238
|
}
|
|
239
|
+
getStaticHoverInfo(word) {
|
|
240
|
+
const lower = word.toLowerCase();
|
|
241
|
+
const keywordInfo = {
|
|
242
|
+
logic: '**logic**\n\nActiva el perfil lógico del script actual.\n\nEjemplo: `logic arithmetic`',
|
|
243
|
+
axiom: '**axiom**\n\nDeclara una premisa o ley base disponible para derivaciones.\n\nEjemplo: `axiom regla : P -> Q`',
|
|
244
|
+
theorem: '**theorem**\n\nDeclara un teorema nombrado dentro de una teoría o script.\n\nEjemplo: `theorem identidad : P -> P`',
|
|
245
|
+
let: '**let**\n\nCrea un alias reutilizable para fórmulas, descripciones o pasajes.',
|
|
246
|
+
derive: '**derive**\n\nIntenta derivar una conclusión a partir de premisas nombradas.\n\nEjemplo: `derive Q from {regla, hecho}`',
|
|
247
|
+
check: '**check**\n\nEvalúa propiedades como validez, satisfacibilidad o equivalencia.',
|
|
248
|
+
prove: '**prove**\n\nSolicita una demostración formal del objetivo.',
|
|
249
|
+
countermodel: '**countermodel**\n\nBusca un modelo que haga falsa la fórmula dada.',
|
|
250
|
+
truth_table: '**truth_table**\n\nGenera la tabla de verdad de una fórmula proposicional.',
|
|
251
|
+
explain: '**explain**\n\nDevuelve una explicación del perfil o del juicio ejecutado.',
|
|
252
|
+
analyze: '**analyze**\n\nAnaliza premisas y conclusión para detectar estructura inferencial o falacias.',
|
|
253
|
+
import: '**import**\n\nImporta otro archivo `.st` dentro del script actual.',
|
|
254
|
+
export: '**export**\n\nMarca una declaración para que sea visible desde otros scripts que importen este archivo.',
|
|
255
|
+
theory: '**theory**\n\nDefine un bloque reutilizable (Clase o Singleton) con miembros públicos y privados.\n\nEjemplo:\n```st\ntheory Agente(nombre) {\n let id = nombre\n}\n```',
|
|
256
|
+
extends: '**extends**\n\nPermite que una teoría herede miembros públicos de otra teoría.',
|
|
257
|
+
private: '**private**\n\nMarca un miembro de teoría como interno y no accesible externamente.',
|
|
258
|
+
print: '**print**\n\nImprime texto o fórmulas durante la ejecución.',
|
|
259
|
+
set: '**set**\n\nReasigna el valor de una variable o alias en tiempo de ejecución.',
|
|
260
|
+
if: '**if**\n\nEjecuta un bloque cuando una condición (`valid`, `satisfiable`, etc.) se cumple.',
|
|
261
|
+
else: '**else**\n\nDefine la rama alternativa de un bloque condicional.',
|
|
262
|
+
for: '**for**\n\nItera sobre una colección de fórmulas o valores.',
|
|
263
|
+
in: '**in**\n\nIntroduce la colección usada por un bucle `for`.',
|
|
264
|
+
while: '**while**\n\nRepite un bloque mientras una condición siga siendo verdadera.',
|
|
265
|
+
fn: '**fn**\n\nDeclara una función con parámetros y posible retorno.',
|
|
266
|
+
return: '**return**\n\nDevuelve un valor desde una función.',
|
|
267
|
+
arithmetic: '**arithmetic**\n\nPerfil numérico para expresiones aritméticas, comparaciones y scripting ST.',
|
|
268
|
+
'+': '**+**\n\nSuma dos expresiones numéricas.',
|
|
269
|
+
'-': '**-**\n\nResta dos expresiones numéricas o expresa signo negativo.',
|
|
270
|
+
'*': '**\\***\n\nMultiplica dos expresiones numéricas.',
|
|
271
|
+
'/': '**/**\n\nDivide una expresión numérica por otra.',
|
|
272
|
+
'%': '**%**\n\nCalcula el residuo de una división entera.',
|
|
273
|
+
'<': '**<**\n\nCompara si el operando izquierdo es menor.',
|
|
274
|
+
'>': '**>**\n\nCompara si el operando izquierdo es mayor.',
|
|
275
|
+
'<=': '**<=**\n\nCompara si el operando izquierdo es menor o igual.',
|
|
276
|
+
'>=': '**>=**\n\nCompara si el operando izquierdo es mayor o igual.',
|
|
277
|
+
'≤': '**≤**\n\nVersión Unicode de `<=`.',
|
|
278
|
+
'≥': '**≥**\n\nVersión Unicode de `>=`.',
|
|
279
|
+
'^': '**^** (XOR)\n\nDisyunción exclusiva. Verdadera si solo uno de los operandos es verdadero.',
|
|
280
|
+
'⊕': '**⊕** (XOR)\n\nVersión Unicode de `^`.',
|
|
281
|
+
'xor': '**xor**\n\nVersión textual de `^`.',
|
|
282
|
+
'!&': '**!&** (NAND)\n\nNegación alternativa (Sheffer stroke). Falsa solo si ambos operandos son verdaderos.',
|
|
283
|
+
'↑': '**↑** (NAND)\n\nVersión Unicode de `!&`.',
|
|
284
|
+
'nand': '**nand**\n\nVersión textual de `!&`.',
|
|
285
|
+
'!|': '**!|** (NOR)\n\nNegación conjunta (Peirce arrow). Verdadera solo si ambos operandos son falsos.',
|
|
286
|
+
'↓': '**↓** (NOR)\n\nVersión Unicode de `!|`.',
|
|
287
|
+
'nor': '**nor**\n\nVersión textual de `!|`.'
|
|
288
|
+
};
|
|
289
|
+
const aliases = {
|
|
290
|
+
logica: keywordInfo.logic,
|
|
291
|
+
axioma: keywordInfo.axiom,
|
|
292
|
+
teorema: keywordInfo.theorem,
|
|
293
|
+
derivar: keywordInfo.derive,
|
|
294
|
+
contramodelo: keywordInfo.countermodel,
|
|
295
|
+
tabla_verdad: keywordInfo.truth_table,
|
|
296
|
+
explicar: keywordInfo.explain,
|
|
297
|
+
analizar: keywordInfo.analyze,
|
|
298
|
+
importar: keywordInfo.import,
|
|
299
|
+
exportar: keywordInfo.export,
|
|
300
|
+
teoria: keywordInfo.theory,
|
|
301
|
+
extiende: keywordInfo.extends,
|
|
302
|
+
privado: keywordInfo.private,
|
|
303
|
+
imprimir: keywordInfo.print,
|
|
304
|
+
asignar: keywordInfo.set,
|
|
305
|
+
si: keywordInfo.if,
|
|
306
|
+
sino: keywordInfo.else,
|
|
307
|
+
para: keywordInfo.for,
|
|
308
|
+
en: keywordInfo.in,
|
|
309
|
+
mientras: keywordInfo.while,
|
|
310
|
+
funcion: keywordInfo.fn,
|
|
311
|
+
retornar: keywordInfo.return
|
|
312
|
+
};
|
|
313
|
+
const profileInfo = {
|
|
314
|
+
'classical.propositional': '**classical.propositional**\n\nLógica proposicional clásica con tablas de verdad y tableaux.',
|
|
315
|
+
'classical.first_order': '**classical.first_order**\n\nLógica de primer orden con cuantificadores, predicados e igualdad.',
|
|
316
|
+
'modal.k': '**modal.k**\n\nLógica modal mínima con necesidad (`[]`) y posibilidad (`<>`).',
|
|
317
|
+
'paraconsistent.belnap': '**paraconsistent.belnap**\n\nLógica paraconsistente de cuatro valores.',
|
|
318
|
+
'deontic.standard': '**deontic.standard**\n\nLógica deóntica para obligación, permisión y prohibición.',
|
|
319
|
+
'epistemic.s5': '**epistemic.s5**\n\nLógica epistémica del conocimiento en marcos S5.',
|
|
320
|
+
'intuitionistic.propositional': '**intuitionistic.propositional**\n\nLógica constructiva sin tercero excluido general.',
|
|
321
|
+
'temporal.ltl': '**temporal.ltl**\n\nLógica temporal lineal con `next` y `until`.',
|
|
322
|
+
'aristotelian.syllogistic': '**aristotelian.syllogistic**\n\nSilogística categórica clásica.',
|
|
323
|
+
'probabilistic.basic': '**probabilistic.basic**\n\nRazonamiento probabilístico básico.',
|
|
324
|
+
arithmetic: keywordInfo.arithmetic,
|
|
325
|
+
};
|
|
326
|
+
return keywordInfo[word] ?? keywordInfo[lower] ?? aliases[lower] ?? profileInfo[word] ?? profileInfo[lower] ?? null;
|
|
327
|
+
}
|
|
210
328
|
handleSymbols(request) {
|
|
211
329
|
const source = request.params.source;
|
|
212
330
|
const file = request.params.file || '<stdin>';
|
|
@@ -363,6 +481,13 @@ class ProtocolHandler {
|
|
|
363
481
|
detail: 'Lógica probabilística — razonamiento con probabilidades [0,1]',
|
|
364
482
|
insertText: 'logic probabilistic.basic',
|
|
365
483
|
},
|
|
484
|
+
{
|
|
485
|
+
label: 'logic arithmetic',
|
|
486
|
+
kind: 'value',
|
|
487
|
+
detail: 'Perfil aritmético para cálculos numéricos, comparaciones y scripting',
|
|
488
|
+
documentation: 'Activa el perfil `arithmetic` para usar `+`, `-`, `*`, `/`, `%`, `<`, `>`, `<=` y `>=` con evaluación numérica.',
|
|
489
|
+
insertText: 'logic arithmetic',
|
|
490
|
+
},
|
|
366
491
|
// ── Declaraciones ───────────────────────────────────────────
|
|
367
492
|
{
|
|
368
493
|
label: 'axiom',
|
|
@@ -616,6 +741,42 @@ class ProtocolHandler {
|
|
|
616
741
|
detail: 'Negación (¬)',
|
|
617
742
|
insertText: '!${1:A}',
|
|
618
743
|
},
|
|
744
|
+
{
|
|
745
|
+
label: '^',
|
|
746
|
+
kind: 'operator',
|
|
747
|
+
detail: 'XOR (⊕) — disyunción exclusiva',
|
|
748
|
+
insertText: '${1:A} ^ ${2:B}',
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
label: '!&',
|
|
752
|
+
kind: 'operator',
|
|
753
|
+
detail: 'NAND (↑) — negación alternativa',
|
|
754
|
+
insertText: '${1:A} !& ${2:B}',
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
label: '!|',
|
|
758
|
+
kind: 'operator',
|
|
759
|
+
detail: 'NOR (↓) — negación conjunta',
|
|
760
|
+
insertText: '${1:A} !| ${2:B}',
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
label: 'xor',
|
|
764
|
+
kind: 'operator',
|
|
765
|
+
detail: 'XOR (texto)',
|
|
766
|
+
insertText: '${1:A} xor ${2:B}',
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
label: 'nand',
|
|
770
|
+
kind: 'operator',
|
|
771
|
+
detail: 'NAND (texto)',
|
|
772
|
+
insertText: '${1:A} nand ${2:B}',
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
label: 'nor',
|
|
776
|
+
kind: 'operator',
|
|
777
|
+
detail: 'NOR (texto)',
|
|
778
|
+
insertText: '${1:A} nor ${2:B}',
|
|
779
|
+
},
|
|
619
780
|
// ── Renderizado ─────────────────────────────────────────────
|
|
620
781
|
{
|
|
621
782
|
label: 'render',
|
|
@@ -693,6 +854,18 @@ class ProtocolHandler {
|
|
|
693
854
|
detail: 'Importar archivo .st (español)',
|
|
694
855
|
insertText: 'importar "${1:ruta.st}"',
|
|
695
856
|
},
|
|
857
|
+
{
|
|
858
|
+
label: 'export',
|
|
859
|
+
kind: 'keyword',
|
|
860
|
+
detail: 'Exportar declaración',
|
|
861
|
+
insertText: 'export ',
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
label: 'exportar',
|
|
865
|
+
kind: 'keyword',
|
|
866
|
+
detail: 'Exportar declaración (español)',
|
|
867
|
+
insertText: 'exportar ',
|
|
868
|
+
},
|
|
696
869
|
// ── Proof blocks ────────────────────────────────────────────
|
|
697
870
|
{
|
|
698
871
|
label: 'assume',
|
|
@@ -729,13 +902,13 @@ class ProtocolHandler {
|
|
|
729
902
|
label: 'theory',
|
|
730
903
|
kind: 'keyword',
|
|
731
904
|
detail: 'Declarar bloque de teoría (encapsula axiomas, let, teoremas)',
|
|
732
|
-
insertText: 'theory ${1:Name} {\n ${
|
|
905
|
+
insertText: 'theory ${1:Name}(${2:params}) {\n ${3}\n}',
|
|
733
906
|
},
|
|
734
907
|
{
|
|
735
908
|
label: 'teoria',
|
|
736
909
|
kind: 'keyword',
|
|
737
910
|
detail: 'Declarar bloque de teoría (español)',
|
|
738
|
-
insertText: 'teoria ${1:Nombre} {\n ${
|
|
911
|
+
insertText: 'teoria ${1:Nombre}(${2:parametros}) {\n ${3}\n}',
|
|
739
912
|
},
|
|
740
913
|
{
|
|
741
914
|
label: 'theory extends',
|
|
@@ -761,6 +934,149 @@ class ProtocolHandler {
|
|
|
761
934
|
detail: 'Miembro privado de teoría (español)',
|
|
762
935
|
insertText: 'privado ${1:statement}',
|
|
763
936
|
},
|
|
937
|
+
// ── Programación y control de flujo ───────────────────────
|
|
938
|
+
{
|
|
939
|
+
label: 'print',
|
|
940
|
+
kind: 'keyword',
|
|
941
|
+
detail: 'Imprimir texto o fórmulas durante la ejecución',
|
|
942
|
+
documentation: 'Úsalo para inspeccionar valores intermedios, resultados o mensajes del script.',
|
|
943
|
+
insertText: 'print ${1:value}',
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
label: 'imprimir',
|
|
947
|
+
kind: 'keyword',
|
|
948
|
+
detail: 'Imprimir texto o fórmulas (español)',
|
|
949
|
+
insertText: 'imprimir ${1:valor}',
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
label: 'set',
|
|
953
|
+
kind: 'keyword',
|
|
954
|
+
detail: 'Reasignar una variable o alias',
|
|
955
|
+
documentation: 'Actualiza un valor en tiempo de ejecución, útil dentro de loops y funciones.',
|
|
956
|
+
insertText: 'set ${1:name} = ${2:value}',
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
label: 'asignar',
|
|
960
|
+
kind: 'keyword',
|
|
961
|
+
detail: 'Reasignar una variable o alias (español)',
|
|
962
|
+
insertText: 'asignar ${1:nombre} = ${2:valor}',
|
|
963
|
+
},
|
|
964
|
+
{
|
|
965
|
+
label: 'if',
|
|
966
|
+
kind: 'keyword',
|
|
967
|
+
detail: 'Condicional ST con rama else',
|
|
968
|
+
documentation: 'Evalúa condiciones como `valid`, `invalid`, `satisfiable` o `unsatisfiable` y ejecuta bloques según el resultado.',
|
|
969
|
+
insertText: 'if ${1:valid} ${2:formula} {\n ${3}\n} else {\n ${4}\n}',
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
label: 'si',
|
|
973
|
+
kind: 'keyword',
|
|
974
|
+
detail: 'Condicional ST con rama sino (español)',
|
|
975
|
+
insertText: 'si ${1:valido} ${2:formula} {\n ${3}\n} sino {\n ${4}\n}',
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
label: 'for',
|
|
979
|
+
kind: 'keyword',
|
|
980
|
+
detail: 'Bucle sobre colección de valores o fórmulas',
|
|
981
|
+
insertText: 'for ${1:item} in {${2:items}} {\n ${3}\n}',
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
label: 'para',
|
|
985
|
+
kind: 'keyword',
|
|
986
|
+
detail: 'Bucle sobre colección (español)',
|
|
987
|
+
insertText: 'para ${1:item} en {${2:items}} {\n ${3}\n}',
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
label: 'while',
|
|
991
|
+
kind: 'keyword',
|
|
992
|
+
detail: 'Bucle condicionado',
|
|
993
|
+
insertText: 'while ${1:valid} ${2:formula} {\n ${3}\n}',
|
|
994
|
+
},
|
|
995
|
+
{
|
|
996
|
+
label: 'mientras',
|
|
997
|
+
kind: 'keyword',
|
|
998
|
+
detail: 'Bucle condicionado (español)',
|
|
999
|
+
insertText: 'mientras ${1:valido} ${2:formula} {\n ${3}\n}',
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
label: 'fn',
|
|
1003
|
+
kind: 'keyword',
|
|
1004
|
+
detail: 'Declarar función con parámetros y retorno',
|
|
1005
|
+
insertText: 'fn ${1:name}(${2:params}) {\n ${3}\n return ${4:result}\n}',
|
|
1006
|
+
},
|
|
1007
|
+
{
|
|
1008
|
+
label: 'funcion',
|
|
1009
|
+
kind: 'keyword',
|
|
1010
|
+
detail: 'Declarar función con parámetros y retorno (español)',
|
|
1011
|
+
insertText: 'funcion ${1:nombre}(${2:parametros}) {\n ${3}\n retornar ${4:resultado}\n}',
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
label: 'return',
|
|
1015
|
+
kind: 'keyword',
|
|
1016
|
+
detail: 'Retornar un valor desde una función',
|
|
1017
|
+
insertText: 'return ${1:value}',
|
|
1018
|
+
},
|
|
1019
|
+
{
|
|
1020
|
+
label: 'retornar',
|
|
1021
|
+
kind: 'keyword',
|
|
1022
|
+
detail: 'Retornar un valor desde una función (español)',
|
|
1023
|
+
insertText: 'retornar ${1:valor}',
|
|
1024
|
+
},
|
|
1025
|
+
// ── Aritmética ────────────────────────────────────────────
|
|
1026
|
+
{
|
|
1027
|
+
label: '+',
|
|
1028
|
+
kind: 'operator',
|
|
1029
|
+
detail: 'Suma dos expresiones numéricas',
|
|
1030
|
+
insertText: '${1:a} + ${2:b}',
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
label: '-',
|
|
1034
|
+
kind: 'operator',
|
|
1035
|
+
detail: 'Resta dos expresiones numéricas',
|
|
1036
|
+
insertText: '${1:a} - ${2:b}',
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
label: '*',
|
|
1040
|
+
kind: 'operator',
|
|
1041
|
+
detail: 'Multiplicación numérica',
|
|
1042
|
+
insertText: '${1:a} * ${2:b}',
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
label: '/',
|
|
1046
|
+
kind: 'operator',
|
|
1047
|
+
detail: 'División numérica',
|
|
1048
|
+
insertText: '${1:a} / ${2:b}',
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
label: '%',
|
|
1052
|
+
kind: 'operator',
|
|
1053
|
+
detail: 'Residuo de división entera',
|
|
1054
|
+
insertText: '${1:a} % ${2:b}',
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
label: '<',
|
|
1058
|
+
kind: 'operator',
|
|
1059
|
+
detail: 'Comparación menor que',
|
|
1060
|
+
insertText: '${1:a} < ${2:b}',
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
label: '>',
|
|
1064
|
+
kind: 'operator',
|
|
1065
|
+
detail: 'Comparación mayor que',
|
|
1066
|
+
insertText: '${1:a} > ${2:b}',
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
label: '<=',
|
|
1070
|
+
kind: 'operator',
|
|
1071
|
+
detail: 'Comparación menor o igual que',
|
|
1072
|
+
insertText: '${1:a} <= ${2:b}',
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
label: '>=',
|
|
1076
|
+
kind: 'operator',
|
|
1077
|
+
detail: 'Comparación mayor o igual que',
|
|
1078
|
+
insertText: '${1:a} >= ${2:b}',
|
|
1079
|
+
},
|
|
764
1080
|
];
|
|
765
1081
|
return { id: request.id, result: items };
|
|
766
1082
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/protocol/handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/protocol/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/runtime/format.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAiBnC,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/runtime/format.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAiBnC,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CA2GnD;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CA6FjD"}
|
package/dist/runtime/format.js
CHANGED
|
@@ -53,6 +53,18 @@ function formulaToUnicode(f) {
|
|
|
53
53
|
return f.args?.[0] && f.args?.[1]
|
|
54
54
|
? `(${formulaToUnicode(f.args[0])} ↔ ${formulaToUnicode(f.args[1])})`
|
|
55
55
|
: '? ↔ ?';
|
|
56
|
+
case 'nand':
|
|
57
|
+
return f.args?.[0] && f.args?.[1]
|
|
58
|
+
? `(${formulaToUnicode(f.args[0])} ↑ ${formulaToUnicode(f.args[1])})`
|
|
59
|
+
: '? ↑ ?';
|
|
60
|
+
case 'nor':
|
|
61
|
+
return f.args?.[0] && f.args?.[1]
|
|
62
|
+
? `(${formulaToUnicode(f.args[0])} ↓ ${formulaToUnicode(f.args[1])})`
|
|
63
|
+
: '? ↓ ?';
|
|
64
|
+
case 'xor':
|
|
65
|
+
return f.args?.[0] && f.args?.[1]
|
|
66
|
+
? `(${collectAssociativeArgs(f, 'xor').map(formulaToUnicode).join(' ⊕ ')})`
|
|
67
|
+
: '? ⊕ ?';
|
|
56
68
|
case 'modal_necessity':
|
|
57
69
|
return f.args?.[0] ? `□(${formulaToUnicode(f.args[0])})` : '□?';
|
|
58
70
|
case 'modal_possibility':
|
|
@@ -77,6 +89,47 @@ function formulaToUnicode(f) {
|
|
|
77
89
|
return f.args?.[0] && f.args?.[1]
|
|
78
90
|
? `(${formulaToUnicode(f.args[0])} U ${formulaToUnicode(f.args[1])})`
|
|
79
91
|
: '? U ?';
|
|
92
|
+
// Arithmetic
|
|
93
|
+
case 'number':
|
|
94
|
+
return f.value !== undefined ? String(f.value) : '?';
|
|
95
|
+
case 'add':
|
|
96
|
+
return f.args?.[0] && f.args?.[1]
|
|
97
|
+
? `(${formulaToUnicode(f.args[0])} + ${formulaToUnicode(f.args[1])})`
|
|
98
|
+
: '? + ?';
|
|
99
|
+
case 'subtract':
|
|
100
|
+
return f.args?.[0] && f.args?.[1]
|
|
101
|
+
? `(${formulaToUnicode(f.args[0])} - ${formulaToUnicode(f.args[1])})`
|
|
102
|
+
: '? - ?';
|
|
103
|
+
case 'multiply':
|
|
104
|
+
return f.args?.[0] && f.args?.[1]
|
|
105
|
+
? `(${formulaToUnicode(f.args[0])} × ${formulaToUnicode(f.args[1])})`
|
|
106
|
+
: '? × ?';
|
|
107
|
+
case 'divide':
|
|
108
|
+
return f.args?.[0] && f.args?.[1]
|
|
109
|
+
? `(${formulaToUnicode(f.args[0])} ÷ ${formulaToUnicode(f.args[1])})`
|
|
110
|
+
: '? ÷ ?';
|
|
111
|
+
case 'modulo':
|
|
112
|
+
return f.args?.[0] && f.args?.[1]
|
|
113
|
+
? `(${formulaToUnicode(f.args[0])} % ${formulaToUnicode(f.args[1])})`
|
|
114
|
+
: '? % ?';
|
|
115
|
+
case 'less':
|
|
116
|
+
return f.args?.[0] && f.args?.[1]
|
|
117
|
+
? `(${formulaToUnicode(f.args[0])} < ${formulaToUnicode(f.args[1])})`
|
|
118
|
+
: '? < ?';
|
|
119
|
+
case 'greater':
|
|
120
|
+
return f.args?.[0] && f.args?.[1]
|
|
121
|
+
? `(${formulaToUnicode(f.args[0])} > ${formulaToUnicode(f.args[1])})`
|
|
122
|
+
: '? > ?';
|
|
123
|
+
case 'less_eq':
|
|
124
|
+
return f.args?.[0] && f.args?.[1]
|
|
125
|
+
? `(${formulaToUnicode(f.args[0])} ≤ ${formulaToUnicode(f.args[1])})`
|
|
126
|
+
: '? ≤ ?';
|
|
127
|
+
case 'greater_eq':
|
|
128
|
+
return f.args?.[0] && f.args?.[1]
|
|
129
|
+
? `(${formulaToUnicode(f.args[0])} \u2265 ${formulaToUnicode(f.args[1])})`
|
|
130
|
+
: '? \u2265 ?';
|
|
131
|
+
case 'fn_call':
|
|
132
|
+
return `${f.name ?? '?'}(${(f.args ?? []).map(formulaToUnicode).join(', ')})`;
|
|
80
133
|
default:
|
|
81
134
|
return '?';
|
|
82
135
|
}
|
|
@@ -132,8 +185,47 @@ function formulaToLaTeX(f) {
|
|
|
132
185
|
return f.args?.[0] ? `\\mathsf{X}\\,(${formulaToLaTeX(f.args[0])})` : '\\mathsf{X}\\,?';
|
|
133
186
|
case 'temporal_until':
|
|
134
187
|
return f.args?.[0] && f.args?.[1]
|
|
135
|
-
? `(${formulaToLaTeX(f.args[0])}
|
|
136
|
-
: '?
|
|
188
|
+
? `(${formulaToLaTeX(f.args[0])} \mathbin{\mathsf{U}} ${formulaToLaTeX(f.args[1])})`
|
|
189
|
+
: '? \mathbin{\mathsf{U}} ?';
|
|
190
|
+
// Arithmetic
|
|
191
|
+
case 'number':
|
|
192
|
+
return f.value !== undefined ? String(f.value) : '?';
|
|
193
|
+
case 'add':
|
|
194
|
+
return f.args?.[0] && f.args?.[1]
|
|
195
|
+
? `(${formulaToLaTeX(f.args[0])} + ${formulaToLaTeX(f.args[1])})`
|
|
196
|
+
: '? + ?';
|
|
197
|
+
case 'subtract':
|
|
198
|
+
return f.args?.[0] && f.args?.[1]
|
|
199
|
+
? `(${formulaToLaTeX(f.args[0])} - ${formulaToLaTeX(f.args[1])})`
|
|
200
|
+
: '? - ?';
|
|
201
|
+
case 'multiply':
|
|
202
|
+
return f.args?.[0] && f.args?.[1]
|
|
203
|
+
? `(${formulaToLaTeX(f.args[0])} \\times ${formulaToLaTeX(f.args[1])})`
|
|
204
|
+
: '? \\times ?';
|
|
205
|
+
case 'divide':
|
|
206
|
+
return f.args?.[0] && f.args?.[1]
|
|
207
|
+
? `\\frac{${formulaToLaTeX(f.args[0])}}{${formulaToLaTeX(f.args[1])}}`
|
|
208
|
+
: '\\frac{?}{?}';
|
|
209
|
+
case 'modulo':
|
|
210
|
+
return f.args?.[0] && f.args?.[1]
|
|
211
|
+
? `(${formulaToLaTeX(f.args[0])} \\bmod ${formulaToLaTeX(f.args[1])})`
|
|
212
|
+
: '? \\bmod ?';
|
|
213
|
+
case 'less':
|
|
214
|
+
return f.args?.[0] && f.args?.[1]
|
|
215
|
+
? `(${formulaToLaTeX(f.args[0])} < ${formulaToLaTeX(f.args[1])})`
|
|
216
|
+
: '? < ?';
|
|
217
|
+
case 'greater':
|
|
218
|
+
return f.args?.[0] && f.args?.[1]
|
|
219
|
+
? `(${formulaToLaTeX(f.args[0])} > ${formulaToLaTeX(f.args[1])})`
|
|
220
|
+
: '? > ?';
|
|
221
|
+
case 'less_eq':
|
|
222
|
+
return f.args?.[0] && f.args?.[1]
|
|
223
|
+
? `(${formulaToLaTeX(f.args[0])} \\leq ${formulaToLaTeX(f.args[1])})`
|
|
224
|
+
: '? \\leq ?';
|
|
225
|
+
case 'greater_eq':
|
|
226
|
+
return f.args?.[0] && f.args?.[1]
|
|
227
|
+
? `(${formulaToLaTeX(f.args[0])} \\geq ${formulaToLaTeX(f.args[1])})`
|
|
228
|
+
: '? \\geq ?';
|
|
137
229
|
default:
|
|
138
230
|
return '?';
|
|
139
231
|
}
|