@stevenvo780/st-lang 0.3.0 → 0.5.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.
Files changed (124) hide show
  1. package/README.md +86 -0
  2. package/dist/api.d.ts +13 -2
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +121 -20
  5. package/dist/api.js.map +1 -1
  6. package/dist/ast/nodes.d.ts +1 -0
  7. package/dist/ast/nodes.d.ts.map +1 -1
  8. package/dist/cli/index.d.ts +1 -0
  9. package/dist/cli/index.js +116 -182
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/index.d.ts +4 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +3 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/lexer/lexer.d.ts +3 -0
  16. package/dist/lexer/lexer.d.ts.map +1 -1
  17. package/dist/lexer/lexer.js +15 -7
  18. package/dist/lexer/lexer.js.map +1 -1
  19. package/dist/lexer/tokens.d.ts +4 -0
  20. package/dist/lexer/tokens.d.ts.map +1 -1
  21. package/dist/lexer/tokens.js +28 -21
  22. package/dist/lexer/tokens.js.map +1 -1
  23. package/dist/parser/parser.d.ts +4 -0
  24. package/dist/parser/parser.d.ts.map +1 -1
  25. package/dist/parser/parser.js +107 -23
  26. package/dist/parser/parser.js.map +1 -1
  27. package/dist/profiles/aristotelian/syllogistic.d.ts +13 -0
  28. package/dist/profiles/aristotelian/syllogistic.d.ts.map +1 -0
  29. package/dist/profiles/aristotelian/syllogistic.js +364 -0
  30. package/dist/profiles/aristotelian/syllogistic.js.map +1 -0
  31. package/dist/profiles/classical/first-order.d.ts +7 -2
  32. package/dist/profiles/classical/first-order.d.ts.map +1 -1
  33. package/dist/profiles/classical/first-order.js +144 -29
  34. package/dist/profiles/classical/first-order.js.map +1 -1
  35. package/dist/profiles/classical/propositional.d.ts +1 -0
  36. package/dist/profiles/classical/propositional.d.ts.map +1 -1
  37. package/dist/profiles/classical/propositional.js +175 -61
  38. package/dist/profiles/classical/propositional.js.map +1 -1
  39. package/dist/profiles/deontic/standard.d.ts +10 -0
  40. package/dist/profiles/deontic/standard.d.ts.map +1 -0
  41. package/dist/profiles/deontic/standard.js +74 -0
  42. package/dist/profiles/deontic/standard.js.map +1 -0
  43. package/dist/profiles/epistemic/s5.d.ts +10 -0
  44. package/dist/profiles/epistemic/s5.d.ts.map +1 -0
  45. package/dist/profiles/epistemic/s5.js +70 -0
  46. package/dist/profiles/epistemic/s5.js.map +1 -0
  47. package/dist/profiles/index.d.ts +13 -0
  48. package/dist/profiles/index.d.ts.map +1 -0
  49. package/dist/profiles/index.js +58 -0
  50. package/dist/profiles/index.js.map +1 -0
  51. package/dist/profiles/interface.d.ts.map +1 -1
  52. package/dist/profiles/intuitionistic/propositional.d.ts +14 -0
  53. package/dist/profiles/intuitionistic/propositional.d.ts.map +1 -0
  54. package/dist/profiles/intuitionistic/propositional.js +377 -0
  55. package/dist/profiles/intuitionistic/propositional.js.map +1 -0
  56. package/dist/profiles/modal/k.d.ts +6 -9
  57. package/dist/profiles/modal/k.d.ts.map +1 -1
  58. package/dist/profiles/modal/k.js +50 -27
  59. package/dist/profiles/modal/k.js.map +1 -1
  60. package/dist/profiles/paraconsistent/belnap.d.ts +17 -1
  61. package/dist/profiles/paraconsistent/belnap.d.ts.map +1 -1
  62. package/dist/profiles/paraconsistent/belnap.js +195 -11
  63. package/dist/profiles/paraconsistent/belnap.js.map +1 -1
  64. package/dist/profiles/probabilistic/basic.d.ts +17 -0
  65. package/dist/profiles/probabilistic/basic.d.ts.map +1 -0
  66. package/dist/profiles/probabilistic/basic.js +295 -0
  67. package/dist/profiles/probabilistic/basic.js.map +1 -0
  68. package/dist/profiles/shared/base-profile.d.ts +19 -0
  69. package/dist/profiles/shared/base-profile.d.ts.map +1 -0
  70. package/dist/profiles/shared/base-profile.js +129 -0
  71. package/dist/profiles/shared/base-profile.js.map +1 -0
  72. package/dist/profiles/shared/tableau-engine.d.ts +66 -0
  73. package/dist/profiles/shared/tableau-engine.d.ts.map +1 -0
  74. package/dist/profiles/shared/tableau-engine.js +439 -0
  75. package/dist/profiles/shared/tableau-engine.js.map +1 -0
  76. package/dist/profiles/temporal/ltl.d.ts +10 -0
  77. package/dist/profiles/temporal/ltl.d.ts.map +1 -0
  78. package/dist/profiles/temporal/ltl.js +75 -0
  79. package/dist/profiles/temporal/ltl.js.map +1 -0
  80. package/dist/protocol/handler.d.ts.map +1 -1
  81. package/dist/protocol/handler.js +289 -22
  82. package/dist/protocol/handler.js.map +1 -1
  83. package/dist/repl/repl.d.ts.map +1 -1
  84. package/dist/repl/repl.js +9 -6
  85. package/dist/repl/repl.js.map +1 -1
  86. package/dist/runtime/interpreter.d.ts +5 -2
  87. package/dist/runtime/interpreter.d.ts.map +1 -1
  88. package/dist/runtime/interpreter.js +88 -67
  89. package/dist/runtime/interpreter.js.map +1 -1
  90. package/dist/tests/cli.test.d.ts +1 -1
  91. package/dist/tests/cli.test.d.ts.map +1 -1
  92. package/dist/tests/cli.test.js +112 -115
  93. package/dist/tests/cli.test.js.map +1 -1
  94. package/dist/tests/core.test.d.ts +1 -1
  95. package/dist/tests/core.test.d.ts.map +1 -1
  96. package/dist/tests/core.test.js +175 -174
  97. package/dist/tests/core.test.js.map +1 -1
  98. package/dist/tests/engines.test.d.ts +2 -0
  99. package/dist/tests/engines.test.d.ts.map +1 -0
  100. package/dist/tests/engines.test.js +81 -0
  101. package/dist/tests/engines.test.js.map +1 -0
  102. package/dist/tests/parser.test.d.ts +1 -1
  103. package/dist/tests/parser.test.d.ts.map +1 -1
  104. package/dist/tests/parser.test.js +162 -165
  105. package/dist/tests/parser.test.js.map +1 -1
  106. package/dist/tests/philosophy.test.d.ts +2 -0
  107. package/dist/tests/philosophy.test.d.ts.map +1 -0
  108. package/dist/tests/philosophy.test.js +588 -0
  109. package/dist/tests/philosophy.test.js.map +1 -0
  110. package/dist/tests/profiles.test.d.ts +2 -0
  111. package/dist/tests/profiles.test.d.ts.map +1 -0
  112. package/dist/tests/profiles.test.js +250 -0
  113. package/dist/tests/profiles.test.js.map +1 -0
  114. package/dist/text-layer/compiler.d.ts +5 -9
  115. package/dist/text-layer/compiler.d.ts.map +1 -1
  116. package/dist/text-layer/compiler.js +6 -4
  117. package/dist/text-layer/compiler.js.map +1 -1
  118. package/dist/types/index.d.ts +10 -1
  119. package/dist/types/index.d.ts.map +1 -1
  120. package/package.json +24 -7
  121. package/dist/tests/runner.d.ts +0 -6
  122. package/dist/tests/runner.d.ts.map +0 -1
  123. package/dist/tests/runner.js +0 -69
  124. package/dist/tests/runner.js.map +0 -1
@@ -3,160 +3,158 @@
3
3
  // ST Tests — Parser
4
4
  // ============================================================
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runParserTests = runParserTests;
7
- const runner_1 = require("./runner");
6
+ const vitest_1 = require("vitest");
8
7
  const parser_1 = require("../parser/parser");
9
- function runParserTests() {
10
- (0, runner_1.describe)('Parser logic declaration', () => {
11
- (0, runner_1.it)('parsea logic classical.propositional', () => {
12
- const parser = new parser_1.Parser();
13
- const program = parser.parse('logic classical.propositional');
14
- (0, runner_1.assertEqual)(program.statements.length, 1);
15
- (0, runner_1.assertEqual)(program.statements[0].kind, 'logic_decl');
16
- (0, runner_1.assertEqual)(program.statements[0].profile, 'classical.propositional');
17
- });
18
- });
19
- (0, runner_1.describe)('Parser axiom declaration', () => {
20
- (0, runner_1.it)('parsea axiom simple', () => {
21
- const parser = new parser_1.Parser();
22
- const program = parser.parse('axiom a1 = P');
23
- (0, runner_1.assertEqual)(program.statements.length, 1);
24
- (0, runner_1.assertEqual)(program.statements[0].kind, 'axiom_decl');
25
- (0, runner_1.assertEqual)(program.statements[0].name, 'a1');
26
- });
27
- (0, runner_1.it)('parsea axiom con implicacion', () => {
28
- const parser = new parser_1.Parser();
29
- const program = parser.parse('axiom a1 = P -> Q');
30
- (0, runner_1.assertEqual)(program.statements.length, 1);
31
- const f = program.statements[0].formula;
32
- (0, runner_1.assertEqual)(f.kind, 'implies');
33
- });
34
- });
35
- (0, runner_1.describe)('Parser — formulas', () => {
36
- (0, runner_1.it)('parsea negacion', () => {
37
- const parser = new parser_1.Parser();
38
- const program = parser.parse('axiom a = !P');
39
- const f = program.statements[0].formula;
40
- (0, runner_1.assertEqual)(f.kind, 'not');
41
- (0, runner_1.assertEqual)(f.args[0].kind, 'atom');
42
- });
43
- (0, runner_1.it)('parsea conjuncion', () => {
44
- const parser = new parser_1.Parser();
45
- const program = parser.parse('axiom a = P & Q');
46
- const f = program.statements[0].formula;
47
- (0, runner_1.assertEqual)(f.kind, 'and');
48
- });
49
- (0, runner_1.it)('parsea disyuncion', () => {
50
- const parser = new parser_1.Parser();
51
- const program = parser.parse('axiom a = P | Q');
52
- const f = program.statements[0].formula;
53
- (0, runner_1.assertEqual)(f.kind, 'or');
54
- });
55
- (0, runner_1.it)('parsea bicondicional', () => {
56
- const parser = new parser_1.Parser();
57
- const program = parser.parse('axiom a = P <-> Q');
58
- const f = program.statements[0].formula;
59
- (0, runner_1.assertEqual)(f.kind, 'biconditional');
60
- });
61
- (0, runner_1.it)('respeta precedencia: & antes que |', () => {
62
- const parser = new parser_1.Parser();
63
- const program = parser.parse('axiom a = P | Q & R');
64
- const f = program.statements[0].formula;
65
- // Debe ser P | (Q & R), no (P | Q) & R
66
- (0, runner_1.assertEqual)(f.kind, 'or');
67
- (0, runner_1.assertEqual)(f.args[1].kind, 'and');
68
- });
69
- (0, runner_1.it)('parsea parentesis', () => {
70
- const parser = new parser_1.Parser();
71
- const program = parser.parse('axiom a = (P | Q) & R');
72
- const f = program.statements[0].formula;
73
- (0, runner_1.assertEqual)(f.kind, 'and');
74
- (0, runner_1.assertEqual)(f.args[0].kind, 'or');
75
- });
76
- (0, runner_1.it)('asocia implicacion a la derecha', () => {
77
- const parser = new parser_1.Parser();
78
- const program = parser.parse('axiom a = P -> Q -> R');
79
- const f = program.statements[0].formula;
80
- (0, runner_1.assertEqual)(f.kind, 'implies');
81
- (0, runner_1.assertEqual)(f.args[1].kind, 'implies');
82
- });
83
- });
84
- (0, runner_1.describe)('Parser — commands', () => {
85
- (0, runner_1.it)('parsea derive', () => {
86
- const parser = new parser_1.Parser();
87
- const program = parser.parse('derive Q from {a1, a2}');
88
- (0, runner_1.assertEqual)(program.statements.length, 1);
89
- (0, runner_1.assertEqual)(program.statements[0].kind, 'derive_cmd');
90
- (0, runner_1.assertEqual)(program.statements[0].premises.length, 2);
91
- });
92
- (0, runner_1.it)('parsea check valid', () => {
93
- const parser = new parser_1.Parser();
94
- const program = parser.parse('check valid (P -> Q)');
95
- (0, runner_1.assertEqual)(program.statements.length, 1);
96
- (0, runner_1.assertEqual)(program.statements[0].kind, 'check_valid_cmd');
97
- });
98
- (0, runner_1.it)('parsea check satisfiable', () => {
99
- const parser = new parser_1.Parser();
100
- const program = parser.parse('check satisfiable (P & Q)');
101
- (0, runner_1.assertEqual)(program.statements[0].kind, 'check_satisfiable_cmd');
102
- });
103
- (0, runner_1.it)('parsea countermodel', () => {
104
- const parser = new parser_1.Parser();
105
- const program = parser.parse('countermodel (P -> Q)');
106
- (0, runner_1.assertEqual)(program.statements[0].kind, 'countermodel_cmd');
107
- });
108
- (0, runner_1.it)('parsea truth_table', () => {
109
- const parser = new parser_1.Parser();
110
- const program = parser.parse('truth_table (P & Q)');
111
- (0, runner_1.assertEqual)(program.statements[0].kind, 'truth_table_cmd');
112
- });
113
- (0, runner_1.it)('parsea prove', () => {
114
- const parser = new parser_1.Parser();
115
- const program = parser.parse('prove Q from {a1, a2}');
116
- (0, runner_1.assertEqual)(program.statements[0].kind, 'prove_cmd');
117
- });
118
- });
119
- (0, runner_1.describe)('Parser text layer', () => {
120
- (0, runner_1.it)('parsea let passage', () => {
121
- const parser = new parser_1.Parser();
122
- const program = parser.parse('let p = passage([[clase-logica.md#b8]])');
123
- (0, runner_1.assertEqual)(program.statements.length, 1);
124
- const stmt = program.statements[0];
125
- (0, runner_1.assertEqual)(stmt.kind, 'let_decl');
126
- (0, runner_1.assertEqual)(stmt.letType, 'passage');
127
- (0, runner_1.assertIncludes)(stmt.anchorPath, 'clase-logica');
128
- });
129
- (0, runner_1.it)('parsea let formalize', () => {
130
- const parser = new parser_1.Parser();
131
- const program = parser.parse('let phi = formalize p as (P -> Q)');
132
- const stmt = program.statements[0];
133
- (0, runner_1.assertEqual)(stmt.kind, 'let_decl');
134
- (0, runner_1.assertEqual)(stmt.letType, 'formalize');
135
- (0, runner_1.assertEqual)(stmt.passageName, 'p');
136
- });
137
- (0, runner_1.it)('parsea support', () => {
138
- const parser = new parser_1.Parser();
139
- const program = parser.parse('support c1 <- p');
140
- (0, runner_1.assertEqual)(program.statements[0].kind, 'support_decl');
141
- });
142
- (0, runner_1.it)('parsea confidence', () => {
143
- const parser = new parser_1.Parser();
144
- const program = parser.parse('confidence c1 = 0.84');
145
- const stmt = program.statements[0];
146
- (0, runner_1.assertEqual)(stmt.kind, 'confidence_decl');
147
- (0, runner_1.assertEqual)(stmt.value, 0.84);
148
- });
149
- (0, runner_1.it)('parsea context', () => {
150
- const parser = new parser_1.Parser();
151
- const program = parser.parse('context c1 = "contexto de ejemplo"');
152
- const stmt = program.statements[0];
153
- (0, runner_1.assertEqual)(stmt.kind, 'context_decl');
154
- (0, runner_1.assertEqual)(stmt.text, 'contexto de ejemplo');
155
- });
156
- });
157
- (0, runner_1.describe)('Parser programa completo', () => {
158
- (0, runner_1.it)('parsea script multi-linea', () => {
159
- const source = `
8
+ (0, vitest_1.describe)('Parser — logic declaration', () => {
9
+ (0, vitest_1.it)('parsea logic classical.propositional', () => {
10
+ const parser = new parser_1.Parser();
11
+ const program = parser.parse('logic classical.propositional');
12
+ (0, vitest_1.expect)(program.statements.length).toBe(1);
13
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('logic_decl');
14
+ (0, vitest_1.expect)(program.statements[0].profile).toBe('classical.propositional');
15
+ });
16
+ });
17
+ (0, vitest_1.describe)('Parser — axiom declaration', () => {
18
+ (0, vitest_1.it)('parsea axiom simple', () => {
19
+ const parser = new parser_1.Parser();
20
+ const program = parser.parse('axiom a1 = P');
21
+ (0, vitest_1.expect)(program.statements.length).toBe(1);
22
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('axiom_decl');
23
+ (0, vitest_1.expect)(program.statements[0].name).toBe('a1');
24
+ });
25
+ (0, vitest_1.it)('parsea axiom con implicacion', () => {
26
+ const parser = new parser_1.Parser();
27
+ const program = parser.parse('axiom a1 = P -> Q');
28
+ (0, vitest_1.expect)(program.statements.length).toBe(1);
29
+ const f = program.statements[0].formula;
30
+ (0, vitest_1.expect)(f.kind).toBe('implies');
31
+ });
32
+ });
33
+ (0, vitest_1.describe)('Parser — formulas', () => {
34
+ (0, vitest_1.it)('parsea negacion', () => {
35
+ const parser = new parser_1.Parser();
36
+ const program = parser.parse('axiom a = !P');
37
+ const f = program.statements[0].formula;
38
+ (0, vitest_1.expect)(f.kind).toBe('not');
39
+ (0, vitest_1.expect)(f.args?.[0].kind).toBe('atom');
40
+ });
41
+ (0, vitest_1.it)('parsea conjuncion', () => {
42
+ const parser = new parser_1.Parser();
43
+ const program = parser.parse('axiom a = P & Q');
44
+ const f = program.statements[0].formula;
45
+ (0, vitest_1.expect)(f.kind).toBe('and');
46
+ });
47
+ (0, vitest_1.it)('parsea disyuncion', () => {
48
+ const parser = new parser_1.Parser();
49
+ const program = parser.parse('axiom a = P | Q');
50
+ const f = program.statements[0].formula;
51
+ (0, vitest_1.expect)(f.kind).toBe('or');
52
+ });
53
+ (0, vitest_1.it)('parsea bicondicional', () => {
54
+ const parser = new parser_1.Parser();
55
+ const program = parser.parse('axiom a = P <-> Q');
56
+ const f = program.statements[0].formula;
57
+ (0, vitest_1.expect)(f.kind).toBe('biconditional');
58
+ });
59
+ (0, vitest_1.it)('respeta precedencia: & antes que |', () => {
60
+ const parser = new parser_1.Parser();
61
+ const program = parser.parse('axiom a = P | Q & R');
62
+ const f = program.statements[0].formula;
63
+ // Debe ser P | (Q & R), no (P | Q) & R
64
+ (0, vitest_1.expect)(f.kind).toBe('or');
65
+ (0, vitest_1.expect)(f.args?.[1].kind).toBe('and');
66
+ });
67
+ (0, vitest_1.it)('parsea parentesis', () => {
68
+ const parser = new parser_1.Parser();
69
+ const program = parser.parse('axiom a = (P | Q) & R');
70
+ const f = program.statements[0].formula;
71
+ (0, vitest_1.expect)(f.kind).toBe('and');
72
+ (0, vitest_1.expect)(f.args?.[0].kind).toBe('or');
73
+ });
74
+ (0, vitest_1.it)('asocia implicacion a la derecha', () => {
75
+ const parser = new parser_1.Parser();
76
+ const program = parser.parse('axiom a = P -> Q -> R');
77
+ const f = program.statements[0].formula;
78
+ (0, vitest_1.expect)(f.kind).toBe('implies');
79
+ (0, vitest_1.expect)(f.args?.[1].kind).toBe('implies');
80
+ });
81
+ });
82
+ (0, vitest_1.describe)('Parser — commands', () => {
83
+ (0, vitest_1.it)('parsea derive', () => {
84
+ const parser = new parser_1.Parser();
85
+ const program = parser.parse('derive Q from {a1, a2}');
86
+ (0, vitest_1.expect)(program.statements.length).toBe(1);
87
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('derive_cmd');
88
+ (0, vitest_1.expect)(program.statements[0].premises.length).toBe(2);
89
+ });
90
+ (0, vitest_1.it)('parsea check valid', () => {
91
+ const parser = new parser_1.Parser();
92
+ const program = parser.parse('check valid (P -> Q)');
93
+ (0, vitest_1.expect)(program.statements.length).toBe(1);
94
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('check_valid_cmd');
95
+ });
96
+ (0, vitest_1.it)('parsea check satisfiable', () => {
97
+ const parser = new parser_1.Parser();
98
+ const program = parser.parse('check satisfiable (P & Q)');
99
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('check_satisfiable_cmd');
100
+ });
101
+ (0, vitest_1.it)('parsea countermodel', () => {
102
+ const parser = new parser_1.Parser();
103
+ const program = parser.parse('countermodel (P -> Q)');
104
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('countermodel_cmd');
105
+ });
106
+ (0, vitest_1.it)('parsea truth_table', () => {
107
+ const parser = new parser_1.Parser();
108
+ const program = parser.parse('truth_table (P & Q)');
109
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('truth_table_cmd');
110
+ });
111
+ (0, vitest_1.it)('parsea prove', () => {
112
+ const parser = new parser_1.Parser();
113
+ const program = parser.parse('prove Q from {a1, a2}');
114
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('prove_cmd');
115
+ });
116
+ });
117
+ (0, vitest_1.describe)('Parser — text layer', () => {
118
+ (0, vitest_1.it)('parsea let passage', () => {
119
+ const parser = new parser_1.Parser();
120
+ const program = parser.parse('let p = passage([[clase-logica.md#b8]])');
121
+ (0, vitest_1.expect)(program.statements.length).toBe(1);
122
+ const stmt = program.statements[0];
123
+ (0, vitest_1.expect)(stmt.kind).toBe('let_decl');
124
+ (0, vitest_1.expect)(stmt.letType).toBe('passage');
125
+ (0, vitest_1.expect)(stmt.anchorPath).toContain('clase-logica');
126
+ });
127
+ (0, vitest_1.it)('parsea let formalize', () => {
128
+ const parser = new parser_1.Parser();
129
+ const program = parser.parse('let phi = formalize p as (P -> Q)');
130
+ const stmt = program.statements[0];
131
+ (0, vitest_1.expect)(stmt.kind).toBe('let_decl');
132
+ (0, vitest_1.expect)(stmt.letType).toBe('formalize');
133
+ (0, vitest_1.expect)(stmt.passageName).toBe('p');
134
+ });
135
+ (0, vitest_1.it)('parsea support', () => {
136
+ const parser = new parser_1.Parser();
137
+ const program = parser.parse('support c1 <- p');
138
+ (0, vitest_1.expect)(program.statements[0].kind).toBe('support_decl');
139
+ });
140
+ (0, vitest_1.it)('parsea confidence', () => {
141
+ const parser = new parser_1.Parser();
142
+ const program = parser.parse('confidence c1 = 0.84');
143
+ const stmt = program.statements[0];
144
+ (0, vitest_1.expect)(stmt.kind).toBe('confidence_decl');
145
+ (0, vitest_1.expect)(stmt.value).toBe(0.84);
146
+ });
147
+ (0, vitest_1.it)('parsea context', () => {
148
+ const parser = new parser_1.Parser();
149
+ const program = parser.parse('context c1 = "contexto de ejemplo"');
150
+ const stmt = program.statements[0];
151
+ (0, vitest_1.expect)(stmt.kind).toBe('context_decl');
152
+ (0, vitest_1.expect)(stmt.text).toBe('contexto de ejemplo');
153
+ });
154
+ });
155
+ (0, vitest_1.describe)('Parser — programa completo', () => {
156
+ (0, vitest_1.it)('parsea script multi-linea', () => {
157
+ const source = `
160
158
  logic classical.propositional
161
159
 
162
160
  axiom a1 = P -> Q
@@ -165,16 +163,15 @@ axiom a2 = P
165
163
  derive Q from {a1, a2}
166
164
  check valid ((P -> Q) -> (!Q -> !P))
167
165
  `;
168
- const parser = new parser_1.Parser();
169
- const program = parser.parse(source);
170
- (0, runner_1.assertEqual)(parser.diagnostics.filter(d => d.severity === 'error').length, 0);
171
- (0, runner_1.assert)(program.statements.length >= 4, `Esperaba >= 4 statements, got ${program.statements.length}`);
172
- });
173
- (0, runner_1.it)('reporta errores de sintaxis', () => {
174
- const parser = new parser_1.Parser();
175
- parser.parse('axiom = invalid syntax 123 @@');
176
- (0, runner_1.assert)(parser.diagnostics.some(d => d.severity === 'error'), 'Deberia reportar errores');
177
- });
178
- });
179
- }
166
+ const parser = new parser_1.Parser();
167
+ const program = parser.parse(source);
168
+ (0, vitest_1.expect)(parser.diagnostics.filter((d) => d.severity === 'error').length).toBe(0);
169
+ (0, vitest_1.expect)(program.statements.length).toBeGreaterThanOrEqual(4);
170
+ });
171
+ (0, vitest_1.it)('reporta errores de sintaxis', () => {
172
+ const parser = new parser_1.Parser();
173
+ parser.parse('axiom = invalid syntax 123 @@');
174
+ (0, vitest_1.expect)(parser.diagnostics.some((d) => d.severity === 'error')).toBe(true);
175
+ });
176
+ });
180
177
  //# sourceMappingURL=parser.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/tests/parser.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;;AAK/D,wCAgMC;AAnMD,qCAA6E;AAC7E,6CAA0C;AAE1C,SAAgB,cAAc;IAC5B,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9D,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACtD,IAAA,oBAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAA,WAAE,EAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACtD,IAAA,oBAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAA,WAAE,EAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,uCAAuC;YACvC,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,OAAO,CAAC;YACjD,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/B,IAAA,oBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAA,WAAE,EAAC,eAAe,EAAE,GAAG,EAAE;YACvB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACtD,IAAA,oBAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1D,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,cAAc,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACtD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxE,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YAC1C,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACnC,IAAA,oBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACrC,IAAA,uBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YAC1C,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACnC,IAAA,oBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACvC,IAAA,oBAAW,EAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,IAAA,oBAAW,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YAC1C,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC1C,IAAA,oBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;YACxB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC;YAC1C,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACvC,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAA,WAAE,EAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,MAAM,GAAG;;;;;;;;CAQpB,CAAC;YACI,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,IAAA,oBAAW,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9E,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,iCAAiC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9C,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/tests/parser.test.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;;AAE/D,mCAA8C;AAC9C,6CAA0C;AAW1C,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9D,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,IAAA,eAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAA,WAAE,EAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,IAAA,eAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,WAAE,EAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,uCAAuC;QACvC,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,CAAC,GAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC;QAC3D,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,WAAE,EAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,IAAA,eAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1D,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,cAAc,EAAE,GAAG,EAAE;QACtB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAA,WAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxE,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAmB,CAAC;QACrD,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAqB,CAAC;QACvD,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAuB,CAAC;QACzD,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAoB,CAAC;QACtD,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAA,WAAE,EAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG;;;;;;;;CAQlB,CAAC;QACE,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,IAAA,eAAM,EAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9C,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=philosophy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"philosophy.test.d.ts","sourceRoot":"","sources":["../../src/tests/philosophy.test.ts"],"names":[],"mappings":""}