@designliquido/lincones-sqlite 0.0.3 → 0.0.4

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 (178) hide show
  1. package/execucao.d.ts +1 -1
  2. package/execucao.js +52 -52
  3. package/execucao.js.map +1 -1
  4. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +6 -15
  5. package/fontes/avaliador-sintatico/avaliador-sintatico.js +42 -261
  6. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  7. package/fontes/avaliador-sintatico/index.d.ts +1 -2
  8. package/fontes/avaliador-sintatico/index.js +5 -20
  9. package/fontes/avaliador-sintatico/index.js.map +1 -1
  10. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +36 -0
  11. package/{comum/fontes/avaliador-sintatico/avaliador-sintatico.js → fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js} +444 -353
  12. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -0
  13. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +7 -0
  14. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico.js +12 -0
  15. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
  16. package/{comum → fontes/comum}/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  17. package/{comum → fontes/comum}/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  18. package/fontes/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -0
  19. package/fontes/comum/fontes/avaliador-sintatico/index.d.ts +3 -0
  20. package/{comum → fontes/comum}/fontes/avaliador-sintatico/index.js +19 -22
  21. package/fontes/comum/fontes/avaliador-sintatico/index.js.map +1 -0
  22. package/fontes/comum/fontes/comandos/alterar.d.ts +8 -0
  23. package/fontes/comum/fontes/comandos/alterar.js +14 -0
  24. package/fontes/comum/fontes/comandos/alterar.js.map +1 -0
  25. package/{comum → fontes/comum}/fontes/comandos/atualizar.d.ts +14 -14
  26. package/{comum → fontes/comum}/fontes/comandos/atualizar.js +13 -13
  27. package/fontes/comum/fontes/comandos/atualizar.js.map +1 -0
  28. package/{comum → fontes/comum}/fontes/comandos/comando.d.ts +6 -6
  29. package/{comum → fontes/comum}/fontes/comandos/comando.js +13 -13
  30. package/fontes/comum/fontes/comandos/comando.js.map +1 -0
  31. package/fontes/comum/fontes/comandos/criar.d.ts +8 -0
  32. package/{comum → fontes/comum}/fontes/comandos/criar.js +12 -12
  33. package/fontes/comum/fontes/comandos/criar.js.map +1 -0
  34. package/fontes/comum/fontes/comandos/excluir-entidade.d.ts +6 -0
  35. package/fontes/comum/fontes/comandos/excluir-entidade.js +13 -0
  36. package/fontes/comum/fontes/comandos/excluir-entidade.js.map +1 -0
  37. package/{comum → fontes/comum}/fontes/comandos/excluir.d.ts +6 -6
  38. package/{comum → fontes/comum}/fontes/comandos/excluir.js +12 -12
  39. package/fontes/comum/fontes/comandos/excluir.js.map +1 -0
  40. package/{comum → fontes/comum}/fontes/comandos/index.d.ts +8 -7
  41. package/{comum → fontes/comum}/fontes/comandos/index.js +24 -23
  42. package/fontes/comum/fontes/comandos/index.js.map +1 -0
  43. package/{comum → fontes/comum}/fontes/comandos/inserir.d.ts +8 -8
  44. package/{comum → fontes/comum}/fontes/comandos/inserir.js +13 -13
  45. package/fontes/comum/fontes/comandos/inserir.js.map +1 -0
  46. package/{comum → fontes/comum}/fontes/comandos/selecionar.d.ts +9 -9
  47. package/{comum → fontes/comum}/fontes/comandos/selecionar.js +14 -14
  48. package/fontes/comum/fontes/comandos/selecionar.js.map +1 -0
  49. package/{comum → fontes/comum}/fontes/construtos/coluna.d.ts +11 -11
  50. package/{comum → fontes/comum}/fontes/construtos/coluna.js +19 -15
  51. package/fontes/comum/fontes/construtos/coluna.js.map +1 -0
  52. package/{comum → fontes/comum}/fontes/construtos/condicao.d.ts +6 -6
  53. package/{comum → fontes/comum}/fontes/construtos/condicao.js +11 -11
  54. package/fontes/comum/fontes/construtos/condicao.js.map +1 -0
  55. package/{comum → fontes/comum}/fontes/construtos/index.d.ts +2 -1
  56. package/{comum → fontes/comum}/fontes/construtos/index.js +18 -17
  57. package/fontes/comum/fontes/construtos/index.js.map +1 -0
  58. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.d.ts +7 -0
  59. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js +15 -0
  60. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js.map +1 -0
  61. package/fontes/comum/fontes/construtos/restricao.d.ts +13 -0
  62. package/fontes/comum/fontes/construtos/restricao.js +19 -0
  63. package/fontes/comum/fontes/construtos/restricao.js.map +1 -0
  64. package/{comum → fontes/comum}/fontes/interfaces/avaliador-sintatico-interface.d.ts +14 -14
  65. package/{comum → fontes/comum}/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
  66. package/fontes/comum/fontes/interfaces/avaliador-sintatico-interface.js.map +1 -0
  67. package/fontes/comum/fontes/interfaces/index.d.ts +3 -0
  68. package/fontes/comum/fontes/interfaces/index.js +20 -0
  69. package/fontes/comum/fontes/interfaces/index.js.map +1 -0
  70. package/fontes/comum/fontes/interfaces/lincones-interface.d.ts +3 -0
  71. package/{comum → fontes/comum}/fontes/interfaces/lincones-interface.js +2 -2
  72. package/fontes/comum/fontes/interfaces/lincones-interface.js.map +1 -0
  73. package/{comum → fontes/comum}/fontes/interfaces/retornos/index.d.ts +16 -16
  74. package/{comum → fontes/comum}/fontes/interfaces/retornos/index.js +2 -2
  75. package/fontes/comum/fontes/interfaces/retornos/index.js.map +1 -0
  76. package/{comum → fontes/comum}/fontes/interfaces/simbolo-interface.d.ts +6 -6
  77. package/{comum → fontes/comum}/fontes/interfaces/simbolo-interface.js +2 -2
  78. package/fontes/comum/fontes/interfaces/simbolo-interface.js.map +1 -0
  79. package/fontes/comum/fontes/lexador/index.d.ts +1 -0
  80. package/{comum/fontes/interfaces → fontes/comum/fontes/lexador}/index.js +17 -17
  81. package/fontes/comum/fontes/lexador/index.js.map +1 -0
  82. package/{comum/fontes/lexador/index.d.ts → fontes/comum/fontes/lexador/lexador.d.ts} +26 -26
  83. package/{comum/fontes/lexador/index.js → fontes/comum/fontes/lexador/lexador.js} +220 -220
  84. package/fontes/comum/fontes/lexador/lexador.js.map +1 -0
  85. package/{comum → fontes/comum}/fontes/lexador/simbolo.d.ts +9 -9
  86. package/{comum → fontes/comum}/fontes/lexador/simbolo.js +15 -15
  87. package/fontes/comum/fontes/lexador/simbolo.js.map +1 -0
  88. package/{comum → fontes/comum}/fontes/palavras-reservadas.d.ts +51 -40
  89. package/{comum → fontes/comum}/fontes/palavras-reservadas.js +56 -45
  90. package/fontes/comum/fontes/palavras-reservadas.js.map +1 -0
  91. package/{comum → fontes/comum}/fontes/tipos-de-simbolos.d.ts +57 -52
  92. package/{comum → fontes/comum}/fontes/tipos-de-simbolos.js +58 -53
  93. package/fontes/comum/fontes/tipos-de-simbolos.js.map +1 -0
  94. package/fontes/comum/fontes/tradutor/index.d.ts +32 -0
  95. package/{comum → fontes/comum}/fontes/tradutor/index.js +238 -183
  96. package/fontes/comum/fontes/tradutor/index.js.map +1 -0
  97. package/fontes/comum/index.d.ts +8 -0
  98. package/fontes/comum/index.js +25 -0
  99. package/fontes/comum/index.js.map +1 -0
  100. package/{comum → fontes/comum}/jest.config.d.ts +3 -3
  101. package/{comum → fontes/comum}/jest.config.js +11 -11
  102. package/fontes/comum/jest.config.js.map +1 -0
  103. package/{comum/execucao.d.ts → fontes/comum/testes/avaliador-sintatico.test.d.ts} +1 -1
  104. package/fontes/comum/testes/avaliador-sintatico.test.js +86 -0
  105. package/fontes/comum/testes/avaliador-sintatico.test.js.map +1 -0
  106. package/fontes/comum/testes/lexador.test.d.ts +1 -0
  107. package/fontes/comum/testes/lexador.test.js +83 -0
  108. package/fontes/comum/testes/lexador.test.js.map +1 -0
  109. package/fontes/comum/testes/tradutor.test.d.ts +1 -0
  110. package/fontes/comum/testes/tradutor.test.js +133 -0
  111. package/fontes/comum/testes/tradutor.test.js.map +1 -0
  112. package/fontes/infraestrutura/cliente-sqlite.d.ts +10 -10
  113. package/fontes/infraestrutura/cliente-sqlite.js +71 -71
  114. package/fontes/infraestrutura/cliente-sqlite.js.map +1 -1
  115. package/fontes/infraestrutura/index.d.ts +2 -2
  116. package/fontes/infraestrutura/index.js +18 -18
  117. package/fontes/infraestrutura/retorno-comando.d.ts +8 -8
  118. package/fontes/infraestrutura/retorno-comando.js +28 -28
  119. package/fontes/infraestrutura/retorno-comando.js.map +1 -1
  120. package/fontes/lincones-sqlite.d.ts +13 -13
  121. package/fontes/lincones-sqlite.js +28 -28
  122. package/fontes/lincones-sqlite.js.map +1 -1
  123. package/fontes/palavras-reservadas.d.ts +26 -26
  124. package/fontes/palavras-reservadas.js +31 -31
  125. package/fontes/palavras-reservadas.js.map +1 -1
  126. package/fontes/tradutor/index.d.ts +21 -19
  127. package/fontes/tradutor/index.js +152 -149
  128. package/fontes/tradutor/index.js.map +1 -1
  129. package/index.d.ts +1 -1
  130. package/index.js +17 -17
  131. package/package.json +12 -12
  132. package/comum/execucao.js +0 -40
  133. package/comum/execucao.js.map +0 -1
  134. package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +0 -15
  135. package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +0 -46
  136. package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +0 -1
  137. package/comum/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +0 -16
  138. package/comum/fontes/avaliador-sintatico/avaliador-sintatico.js.map +0 -1
  139. package/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +0 -1
  140. package/comum/fontes/avaliador-sintatico/index.d.ts +0 -3
  141. package/comum/fontes/avaliador-sintatico/index.js.map +0 -1
  142. package/comum/fontes/comandos/alterar.d.ts +0 -13
  143. package/comum/fontes/comandos/alterar.js +0 -19
  144. package/comum/fontes/comandos/alterar.js.map +0 -1
  145. package/comum/fontes/comandos/atualizar.js.map +0 -1
  146. package/comum/fontes/comandos/comando.js.map +0 -1
  147. package/comum/fontes/comandos/criar.d.ts +0 -7
  148. package/comum/fontes/comandos/criar.js.map +0 -1
  149. package/comum/fontes/comandos/excluir.js.map +0 -1
  150. package/comum/fontes/comandos/index.js.map +0 -1
  151. package/comum/fontes/comandos/inserir.js.map +0 -1
  152. package/comum/fontes/comandos/selecionar.js.map +0 -1
  153. package/comum/fontes/construtos/coluna.js.map +0 -1
  154. package/comum/fontes/construtos/condicao.js.map +0 -1
  155. package/comum/fontes/construtos/index.js.map +0 -1
  156. package/comum/fontes/interfaces/avaliador-sintatico-interface.js.map +0 -1
  157. package/comum/fontes/interfaces/index.d.ts +0 -3
  158. package/comum/fontes/interfaces/index.js.map +0 -1
  159. package/comum/fontes/interfaces/lincones-interface.d.ts +0 -3
  160. package/comum/fontes/interfaces/lincones-interface.js.map +0 -1
  161. package/comum/fontes/interfaces/retornos/index.js.map +0 -1
  162. package/comum/fontes/interfaces/simbolo-interface.js.map +0 -1
  163. package/comum/fontes/lexador/index.js.map +0 -1
  164. package/comum/fontes/lexador/simbolo.js.map +0 -1
  165. package/comum/fontes/lincones.d.ts +0 -10
  166. package/comum/fontes/lincones.js +0 -21
  167. package/comum/fontes/lincones.js.map +0 -1
  168. package/comum/fontes/palavras-reservadas.js.map +0 -1
  169. package/comum/fontes/tipos-de-simbolos.js.map +0 -1
  170. package/comum/fontes/tradutor/index.d.ts +0 -20
  171. package/comum/fontes/tradutor/index.js.map +0 -1
  172. package/comum/index.d.ts +0 -1
  173. package/comum/index.js +0 -6
  174. package/comum/index.js.map +0 -1
  175. package/comum/jest.config.js.map +0 -1
  176. package/fontes/lexador/index.d.ts +0 -26
  177. package/fontes/lexador/index.js +0 -220
  178. package/fontes/lexador/index.js.map +0 -1
package/execucao.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/execucao.js CHANGED
@@ -1,53 +1,53 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const leituraLinhas = __importStar(require("readline"));
27
- const lincones_sqlite_1 = require("./fontes/lincones-sqlite");
28
- const lincones = new lincones_sqlite_1.LinconesSQLite();
29
- lincones.clienteSQLite.abrir().then(() => {
30
- const interfaceLeitura = leituraLinhas.createInterface({
31
- input: process.stdin,
32
- output: process.stdout,
33
- prompt: '\nlincones> ',
34
- });
35
- interfaceLeitura.prompt();
36
- interfaceLeitura.on('line', (linha) => {
37
- lincones.executar(linha).then(resultado => {
38
- if (resultado.linhasRetornadas.length > 0) {
39
- console.table(resultado.linhasRetornadas);
40
- }
41
- console.log(resultado.mensagemExecucao);
42
- if (resultado.ultimoId) {
43
- console.log(`ID retornado pela operação: ${resultado.ultimoId}`);
44
- }
45
- return Promise.resolve();
46
- }).then(() => {
47
- interfaceLeitura.prompt();
48
- }).catch((erro) => {
49
- console.error(erro);
50
- });
51
- });
52
- });
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const leituraLinhas = __importStar(require("readline"));
27
+ const lincones_sqlite_1 = require("./fontes/lincones-sqlite");
28
+ const lincones = new lincones_sqlite_1.LinconesSQLite();
29
+ lincones.clienteSQLite.abrir().then(() => {
30
+ const interfaceLeitura = leituraLinhas.createInterface({
31
+ input: process.stdin,
32
+ output: process.stdout,
33
+ prompt: '\nlincones> ',
34
+ });
35
+ interfaceLeitura.prompt();
36
+ interfaceLeitura.on('line', (linha) => {
37
+ lincones.executar(linha).then(resultado => {
38
+ if (resultado.linhasRetornadas.length > 0) {
39
+ console.table(resultado.linhasRetornadas);
40
+ }
41
+ console.log(resultado.mensagemExecucao);
42
+ if (resultado.ultimoId) {
43
+ console.log(`ID retornado pela operação: ${resultado.ultimoId}`);
44
+ }
45
+ return Promise.resolve();
46
+ }).then(() => {
47
+ interfaceLeitura.prompt();
48
+ }).catch((erro) => {
49
+ console.error(erro);
50
+ });
51
+ });
52
+ });
53
53
  //# sourceMappingURL=execucao.js.map
package/execucao.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,8DAA0D;AAE1D,MAAM,QAAQ,GAAG,IAAI,gCAAc,EAAE,CAAC;AACtC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtC,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;aAC7C;YAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAExC,IAAI,SAAS,CAAC,QAAQ,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpE;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,8DAA0D;AAE1D,MAAM,QAAQ,GAAG,IAAI,gCAAc,EAAE,CAAC;AACtC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACtC,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAExC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,15 +1,6 @@
1
- import { RetornoAvaliadorSintatico, RetornoLexador } from '../../comum/fontes/interfaces/retornos';
2
- import { AvaliadorSintaticoBase } from '../../comum/fontes/avaliador-sintatico/avaliador-sintatico-base';
3
- export declare class AvaliadorSintatico extends AvaliadorSintaticoBase {
4
- private avancar;
5
- private comandoAtualizar;
6
- private comandoCriacaoColuna;
7
- private comandoCriar;
8
- private comandoCriarTabela;
9
- private comandoExcluir;
10
- private comandoInserir;
11
- private logicaComumCondicoes;
12
- private comandoSelecionar;
13
- private declaracao;
14
- analisar(retornoLexador: RetornoLexador): RetornoAvaliadorSintatico;
15
- }
1
+ import { RetornoAvaliadorSintatico, RetornoLexador } from '../comum/fontes/interfaces/retornos';
2
+ import { AvaliadorSintaticoBase } from '../comum/fontes/avaliador-sintatico/avaliador-sintatico-base';
3
+ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase {
4
+ declaracao(): import("../comum/fontes/comandos").Atualizar | import("../comum/fontes/comandos").Criar | import("../comum/fontes/comandos").Excluir | import("../comum/fontes/comandos").Inserir | import("../comum/fontes/comandos").Selecionar;
5
+ analisar(retornoLexador: RetornoLexador): RetornoAvaliadorSintatico;
6
+ }
@@ -1,262 +1,43 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AvaliadorSintatico = void 0;
7
- const construtos_1 = require("../../comum/fontes/construtos");
8
- const comandos_1 = require("../../comum/fontes/comandos");
9
- const tipos_de_simbolos_1 = __importDefault(require("../../comum/fontes/tipos-de-simbolos"));
10
- const avaliador_sintatico_base_1 = require("../../comum/fontes/avaliador-sintatico/avaliador-sintatico-base");
11
- const coluna_1 = require("../../comum/fontes/construtos/coluna");
12
- class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
13
- avancar() {
14
- if (!this.estaNoFinal()) {
15
- this.atual++;
16
- }
17
- }
18
- comandoAtualizar() {
19
- // Essa linha nunca deve retornar erro.
20
- this.consumir(tipos_de_simbolos_1.default.ATUALIZAR, 'Esperado palavra reservada "ATUALIZAR".');
21
- const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "ATUALIZAR".');
22
- this.consumir(tipos_de_simbolos_1.default.DEFINIR, 'Esperado palavra reservada "DEFINIR". após palavra reservada "ATUALIZAR".');
23
- // Relação de colunas para atualização
24
- const colunasAtualizacao = [];
25
- do {
26
- const esquerda = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, `Esperado nome de coluna ou literal em descrição de atualização.`);
27
- this.consumir(tipos_de_simbolos_1.default.IGUAL, 'Esperado operador válido após identificador em descrição de atualização.');
28
- if (![
29
- tipos_de_simbolos_1.default.IDENTIFICADOR,
30
- tipos_de_simbolos_1.default.NUMERO,
31
- tipos_de_simbolos_1.default.TEXTO,
32
- tipos_de_simbolos_1.default.VERDADEIRO,
33
- tipos_de_simbolos_1.default.FALSO
34
- ].includes(this.simbolos[this.atual].tipo)) {
35
- throw this.erro(this.simbolos[this.atual], `Esperado operador válido após identificador em descrição de atualização.`);
36
- }
37
- const direita = this.simbolos[this.atual];
38
- this.avancar();
39
- colunasAtualizacao.push({
40
- esquerda,
41
- direita
42
- });
43
- } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
44
- // Condições
45
- const condicoes = this.logicaComumCondicoes('seleção');
46
- return new comandos_1.Atualizar(-1, nomeDaTabela.lexema, colunasAtualizacao, condicoes);
47
- }
48
- comandoCriacaoColuna() {
49
- // Nome
50
- const nomeDaColuna = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de coluna em comando de criação de tabela.');
51
- // Tipo de dados
52
- let tipoColuna = null;
53
- let tamanhoColuna = null;
54
- switch (this.simbolos[this.atual].tipo) {
55
- case tipos_de_simbolos_1.default.INTEIRO:
56
- tipoColuna = tipos_de_simbolos_1.default.INTEIRO;
57
- this.avancar();
58
- break;
59
- case tipos_de_simbolos_1.default.LOGICO:
60
- tipoColuna = tipos_de_simbolos_1.default.LOGICO;
61
- this.avancar();
62
- break;
63
- case tipos_de_simbolos_1.default.TEXTO:
64
- tipoColuna = tipos_de_simbolos_1.default.TEXTO;
65
- this.avancar();
66
- if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PARENTESE_ESQUERDO)) {
67
- tamanhoColuna = this.consumir(tipos_de_simbolos_1.default.NUMERO, 'Esperado tamanho de texto de coluna em comando de criação de tabela.');
68
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado parêntese direito após declaração de tamanho de coluna em comando de criação de tabela.');
69
- }
70
- break;
71
- default:
72
- throw this.erro(this.simbolos[this.atual], 'Esperado tipo de dados válido na definição de coluna em comando de criação de tabela.');
73
- }
74
- // Nulo/Não Nulo
75
- let nulo = true;
76
- if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.NAO, tipos_de_simbolos_1.default.NULO)) {
77
- const simboloAnterior = this.simbolos[this.atual - 1];
78
- switch (simboloAnterior.tipo) {
79
- case tipos_de_simbolos_1.default.NAO:
80
- this.consumir(tipos_de_simbolos_1.default.NULO, 'Esperado palavra reservada "NULO" após palavra reservada "NÃO" em declaração de coluna em comando de criação de tabela.');
81
- nulo = false;
82
- break;
83
- case tipos_de_simbolos_1.default.NULO:
84
- default:
85
- break;
86
- }
87
- }
88
- // Chave primária?
89
- let chavePrimaria = false;
90
- let autoIncremento = false;
91
- if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.CHAVE)) {
92
- switch (this.simbolos[this.atual].tipo) {
93
- case tipos_de_simbolos_1.default.PRIMARIA:
94
- chavePrimaria = true;
95
- this.avancar();
96
- if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.AUTO)) {
97
- this.consumir(tipos_de_simbolos_1.default.INCREMENTO, 'Esperado palavra reservada "INCREMENTO" após palavra reservada "AUTO" em declaração de coluna em comando de criação de tabela.');
98
- autoIncremento = true;
99
- }
100
- break;
101
- default:
102
- throw this.erro(this.simbolos[this.atual], 'Esperado palavra reservada "PRIMARIA" após palavra reservada "CHAVE" na definição de coluna em comando de criação de tabela.');
103
- }
104
- }
105
- return new coluna_1.Coluna(nomeDaColuna.lexema, tipoColuna, tamanhoColuna, nulo, chavePrimaria, false);
106
- }
107
- comandoCriar() {
108
- // Essa linha nunca deve retornar erro.
109
- this.consumir(tipos_de_simbolos_1.default.CRIAR, 'Esperado palavra reservada "CRIAR".');
110
- switch (this.simbolos[this.atual].tipo) {
111
- case 'TABELA':
112
- default:
113
- return this.comandoCriarTabela();
114
- }
115
- }
116
- comandoCriarTabela() {
117
- // Essa linha nunca deve retornar erro.
118
- this.consumir(tipos_de_simbolos_1.default.TABELA, 'Esperado palavra reservada "TABELA".');
119
- const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "TABELA".');
120
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_ESQUERDO, 'Esperado abertura de parênteses após nome da tabela');
121
- const colunas = [];
122
- do {
123
- colunas.push(this.comandoCriacaoColuna());
124
- } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
125
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado fechamento de parênteses após nome da tabela');
126
- // Ponto-e-vírgula opcional.
127
- // TODO: trazer isso mais tarde.
128
- // this.verificarSeSimboloAtualEIgualA(tiposDeSimbolos.PONTO_VIRGULA);
129
- return new comandos_1.Criar(this.simbolos[this.atual].linha, nomeDaTabela.lexema, colunas);
130
- }
131
- comandoExcluir() {
132
- // Essa linha nunca deve retornar erro.
133
- const simboloExcluir = this.consumir(tipos_de_simbolos_1.default.EXCLUIR, 'Esperado palavra reservada "EXCLUIR".');
134
- const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "TABELA".');
135
- const condicoes = this.logicaComumCondicoes('exclusão');
136
- this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
137
- return new comandos_1.Excluir(-1, nomeDaTabela.lexema, condicoes);
138
- }
139
- comandoInserir() {
140
- // Essa linha nunca deve retornar erro.
141
- const simboloInserir = this.consumir(tipos_de_simbolos_1.default.INSERIR, 'Esperado palavra reservada "INSERIR".');
142
- this.consumir(tipos_de_simbolos_1.default.EM, 'Esperado palavra reservada "EM" após palavra reservada "INSERIR".');
143
- const nomeDaTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de tabela após palavra reservada "EM" em declaração "INSERIR".');
144
- // Colunas
145
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_ESQUERDO, 'Esperado abertura de parênteses após identificador de nome de tabela em comando "INSERIR".');
146
- const colunas = [];
147
- do {
148
- const nomeDaColuna = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado identificador de nome de coluna após identificador de nome de tabela em comando "INSERIR".');
149
- colunas.push(nomeDaColuna.lexema);
150
- } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
151
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado fechamento de parênteses após declaração de colunas em comando "INSERIR".');
152
- this.consumir(tipos_de_simbolos_1.default.VALORES, 'Esperado palavra reservada "VALORES" após primeiro fechamento de parênteses em comando "INSERIR".');
153
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_ESQUERDO, 'Esperado abertura de parênteses após palavra reservada "VALORES" em comando "INSERIR".');
154
- // Valores
155
- const valores = [];
156
- do {
157
- if (![
158
- tipos_de_simbolos_1.default.IDENTIFICADOR,
159
- tipos_de_simbolos_1.default.NUMERO,
160
- tipos_de_simbolos_1.default.TEXTO,
161
- tipos_de_simbolos_1.default.VERDADEIRO,
162
- tipos_de_simbolos_1.default.FALSO
163
- ].includes(this.simbolos[this.atual].tipo)) {
164
- throw this.erro(this.simbolos[this.atual], `Esperado valor válido para inserção em comando "INSERIR".`);
165
- }
166
- valores.push(this.simbolos[this.atual]);
167
- this.avancar();
168
- } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
169
- this.consumir(tipos_de_simbolos_1.default.PARENTESE_DIREITO, 'Esperado fechamento de parênteses após declaração de valores em comando "INSERIR".');
170
- if (valores.length !== colunas.length) {
171
- throw this.erro(simboloInserir, 'Número de colunas não correspondente ao número de valores em comando "INSERIR".');
172
- }
173
- return new comandos_1.Inserir(-1, nomeDaTabela.lexema, colunas, valores);
174
- }
175
- logicaComumCondicoes(operacao) {
176
- const condicoes = [];
177
- if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.ONDE)) {
178
- do {
179
- const esquerda = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, `Esperado nome de coluna ou literal em condição de ${operacao}.`);
180
- if (![
181
- tipos_de_simbolos_1.default.IGUAL,
182
- tipos_de_simbolos_1.default.MAIOR,
183
- tipos_de_simbolos_1.default.MAIOR_IGUAL,
184
- tipos_de_simbolos_1.default.MENOR,
185
- tipos_de_simbolos_1.default.MENOR_IGUAL
186
- ].includes(this.simbolos[this.atual].tipo)) {
187
- throw this.erro(this.simbolos[this.atual], `Esperado operador válido após identificador em condição de ${operacao}.`);
188
- }
189
- const operador = this.simbolos[this.atual].tipo;
190
- this.avancar();
191
- if (![
192
- tipos_de_simbolos_1.default.IDENTIFICADOR,
193
- tipos_de_simbolos_1.default.NUMERO,
194
- tipos_de_simbolos_1.default.TEXTO
195
- ].includes(this.simbolos[this.atual].tipo)) {
196
- throw this.erro(this.simbolos[this.atual], `Esperado operador válido após identificador em condição de ${operacao}.`);
197
- }
198
- const direita = this.simbolos[this.atual];
199
- this.avancar();
200
- condicoes.push(new construtos_1.Condicao(esquerda, operador, direita.literal || direita.lexema));
201
- } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.E));
202
- }
203
- return condicoes;
204
- }
205
- comandoSelecionar() {
206
- // Essa linha nunca deve retornar erro.
207
- this.consumir(tipos_de_simbolos_1.default.SELECIONAR, 'Esperado palavra reservada "SELECIONAR".');
208
- // Colunas
209
- let tudo = false;
210
- const colunas = [];
211
- if (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.TUDO)) {
212
- tudo = true;
213
- }
214
- else {
215
- do {
216
- colunas.push(this.simbolos[this.atual].lexema);
217
- this.avancar();
218
- } while (this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.VIRGULA));
219
- }
220
- // De
221
- this.consumir(tipos_de_simbolos_1.default.DE, 'Esperado palavra reservada "de" após definição das colunas em comando de seleção.');
222
- const nomeTabela = this.consumir(tipos_de_simbolos_1.default.IDENTIFICADOR, 'Esperado nome de coluna ou literal em condição de seleção.');
223
- // Condições
224
- const condicoes = this.logicaComumCondicoes('seleção');
225
- // Ponto-e-vírgula opcional.
226
- this.verificarSeSimboloAtualEIgualA(tipos_de_simbolos_1.default.PONTO_VIRGULA);
227
- return new comandos_1.Selecionar(-1, nomeTabela.lexema, colunas, condicoes, tudo);
228
- }
229
- declaracao() {
230
- switch (this.simbolos[this.atual].tipo) {
231
- case tipos_de_simbolos_1.default.ATUALIZAR:
232
- return this.comandoAtualizar();
233
- case tipos_de_simbolos_1.default.CRIAR:
234
- return this.comandoCriar();
235
- case tipos_de_simbolos_1.default.EXCLUIR:
236
- return this.comandoExcluir();
237
- case tipos_de_simbolos_1.default.INSERIR:
238
- return this.comandoInserir();
239
- case tipos_de_simbolos_1.default.SELECIONAR:
240
- return this.comandoSelecionar();
241
- default:
242
- this.avancar();
243
- return null;
244
- }
245
- }
246
- analisar(retornoLexador) {
247
- this.erros = [];
248
- this.atual = 0;
249
- this.bloco = 0;
250
- this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
251
- const declaracoes = [];
252
- while (!this.estaNoFinal()) {
253
- declaracoes.push(this.declaracao());
254
- }
255
- return {
256
- comandos: declaracoes,
257
- erros: this.erros
258
- };
259
- }
260
- }
261
- exports.AvaliadorSintatico = AvaliadorSintatico;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AvaliadorSintatico = void 0;
7
+ const tipos_de_simbolos_1 = __importDefault(require("../comum/fontes/tipos-de-simbolos"));
8
+ const avaliador_sintatico_base_1 = require("../comum/fontes/avaliador-sintatico/avaliador-sintatico-base");
9
+ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBase {
10
+ declaracao() {
11
+ switch (this.simbolos[this.atual].tipo) {
12
+ case tipos_de_simbolos_1.default.ATUALIZAR:
13
+ return this.comandoAtualizar();
14
+ case tipos_de_simbolos_1.default.CRIAR:
15
+ return this.comandoCriar();
16
+ case tipos_de_simbolos_1.default.EXCLUIR:
17
+ return this.comandoExcluir();
18
+ case tipos_de_simbolos_1.default.INSERIR:
19
+ return this.comandoInserir();
20
+ case tipos_de_simbolos_1.default.SELECIONAR:
21
+ return this.comandoSelecionar();
22
+ default:
23
+ this.avancar();
24
+ return null;
25
+ }
26
+ }
27
+ analisar(retornoLexador) {
28
+ this.erros = [];
29
+ this.atual = 0;
30
+ this.bloco = 0;
31
+ this.simbolos = (retornoLexador === null || retornoLexador === void 0 ? void 0 : retornoLexador.simbolos) || [];
32
+ const declaracoes = [];
33
+ while (!this.estaNoFinal()) {
34
+ declaracoes.push(this.declaracao());
35
+ }
36
+ return {
37
+ comandos: declaracoes,
38
+ erros: this.erros
39
+ };
40
+ }
41
+ }
42
+ exports.AvaliadorSintatico = AvaliadorSintatico;
262
43
  //# sourceMappingURL=avaliador-sintatico.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":";;;;;;AAKA,0FAAgE;AAChE,2GAAsG;AAEtG,MAAa,kBAAmB,SAAQ,iDAAsB;IACjD,UAAU;QACf,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,KAAK,2BAAe,CAAC,SAAS;gBAC1B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,KAAK,2BAAe,CAAC,OAAO;gBACxB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;YACjC,KAAK,2BAAe,CAAC,OAAO;gBACxB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;YACjC,KAAK,2BAAe,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpC;gBACI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;QACpB,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,cAA8B;QACnC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,KAAI,EAAE,CAAC;QAE/C,MAAM,WAAW,GAAc,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACS,CAAC;IACnC,CAAC;CACJ;AAnCD,gDAmCC"}
@@ -1,2 +1 @@
1
- export { AvaliadorSintatico } from './avaliador-sintatico';
2
- export * from '../../comum/fontes/construtos/coluna';
1
+ export { AvaliadorSintatico } from './avaliador-sintatico';
@@ -1,21 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.AvaliadorSintatico = void 0;
18
- var avaliador_sintatico_1 = require("./avaliador-sintatico");
19
- Object.defineProperty(exports, "AvaliadorSintatico", { enumerable: true, get: function () { return avaliador_sintatico_1.AvaliadorSintatico; } });
20
- __exportStar(require("../../comum/fontes/construtos/coluna"), exports);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AvaliadorSintatico = void 0;
4
+ var avaliador_sintatico_1 = require("./avaliador-sintatico");
5
+ Object.defineProperty(exports, "AvaliadorSintatico", { enumerable: true, get: function () { return avaliador_sintatico_1.AvaliadorSintatico; } });
21
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA;AAC3B,uEAAqD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/index.ts"],"names":[],"mappings":";;;AAAA,6DAA2D;AAAlD,yHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,36 @@
1
+ import { Alterar, Atualizar, Criar, Excluir, Inserir, Selecionar } from '../comandos';
2
+ import { AvaliadorSintaticoInterface, SimboloInterface } from '../interfaces';
3
+ import { RetornoAvaliadorSintatico, RetornoLexador } from '../interfaces/retornos';
4
+ import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
5
+ import { Coluna } from '../construtos/coluna';
6
+ import { Condicao } from '../construtos';
7
+ export declare abstract class AvaliadorSintaticoBase implements AvaliadorSintaticoInterface {
8
+ simbolos: SimboloInterface[];
9
+ erros: ErroAvaliadorSintatico[];
10
+ atual: number;
11
+ bloco: number;
12
+ consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
13
+ estaNoFinal(): boolean;
14
+ verificarTipoSimboloAtual(tipo: string): boolean;
15
+ verificaSeLexemaSimboloAtual(lexama: string): boolean;
16
+ avancarEDevolverAnterior(): SimboloInterface;
17
+ erro(simbolo: SimboloInterface, mensagemDeErro: string): ErroAvaliadorSintatico;
18
+ verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
19
+ protected avancar(): void;
20
+ private logicaManipulacaoColuna;
21
+ private logicaManipulacaoRestricao;
22
+ private logicaAdicionarOuAlterarColuna;
23
+ private logicaAdicionarOuAlterarRestricao;
24
+ private logicaRestricaoChave;
25
+ protected comandoAlterar(): Alterar;
26
+ protected comandoAtualizar(): Atualizar;
27
+ protected comandoCriacaoColuna(): Coluna;
28
+ protected comandoCriar(): Criar;
29
+ protected comandoCriarTabela(): Criar;
30
+ protected comandoExcluir(): Excluir;
31
+ protected comandoInserir(): Inserir;
32
+ protected logicaComumCondicoes(operacao: string): Condicao[];
33
+ protected comandoSelecionar(): Selecionar;
34
+ protected declaracao(): Alterar | Atualizar | Criar | Excluir | Inserir | Selecionar;
35
+ analisar(retornoLexador: RetornoLexador): RetornoAvaliadorSintatico;
36
+ }