@designliquido/delegua 0.36.1 → 0.37.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 (534) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +69 -69
  2. package/analisador-semantico/analisador-semantico-base.js +180 -180
  3. package/analisador-semantico/analisador-semantico.d.ts +59 -59
  4. package/analisador-semantico/analisador-semantico.js +442 -442
  5. package/analisador-semantico/analisador-semantico.js.map +1 -1
  6. package/analisador-semantico/index.d.ts +3 -3
  7. package/analisador-semantico/index.js +19 -19
  8. package/analisador-semantico/pilha-variaveis.d.ts +20 -20
  9. package/analisador-semantico/pilha-variaveis.js +25 -25
  10. package/avaliador-sintatico/avaliador-sintatico-base.d.ts +90 -69
  11. package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
  12. package/avaliador-sintatico/avaliador-sintatico-base.js +232 -223
  13. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  14. package/avaliador-sintatico/avaliador-sintatico.d.ts +118 -126
  15. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  16. package/avaliador-sintatico/avaliador-sintatico.js +1041 -1093
  17. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +73 -73
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +648 -648
  20. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  21. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +27 -21
  22. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts.map +1 -1
  23. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +156 -149
  24. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  25. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +87 -87
  26. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +770 -770
  27. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  28. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts +34 -34
  29. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +168 -168
  30. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  31. package/avaliador-sintatico/dialetos/index.d.ts +3 -3
  32. package/avaliador-sintatico/dialetos/index.js +19 -19
  33. package/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  34. package/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  35. package/avaliador-sintatico/index.d.ts +6 -6
  36. package/avaliador-sintatico/index.js +22 -22
  37. package/avaliador-sintatico/micro-avaliador-sintatico-base.d.ts +27 -27
  38. package/avaliador-sintatico/micro-avaliador-sintatico-base.js +116 -116
  39. package/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +1 -1
  40. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts +21 -33
  41. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts.map +1 -1
  42. package/avaliador-sintatico/micro-avaliador-sintatico.js +204 -287
  43. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  44. package/avaliador-sintatico/retornos/index.d.ts +3 -3
  45. package/avaliador-sintatico/retornos/index.js +19 -19
  46. package/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
  47. package/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
  48. package/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
  49. package/avaliador-sintatico/retornos/retorno-primario.js +2 -2
  50. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
  51. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
  52. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts +59 -59
  53. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js +150 -150
  54. package/bibliotecas/biblioteca-global.d.ts +157 -157
  55. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  56. package/bibliotecas/biblioteca-global.js +487 -498
  57. package/bibliotecas/biblioteca-global.js.map +1 -1
  58. package/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
  59. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +236 -236
  60. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
  61. package/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
  62. package/bibliotecas/dialetos/egua-classico/index.js +32 -32
  63. package/bibliotecas/dialetos/egua-classico/index.js.map +1 -1
  64. package/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
  65. package/bibliotecas/dialetos/egua-classico/matematica.js +541 -541
  66. package/bibliotecas/dialetos/egua-classico/matematica.js.map +1 -1
  67. package/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
  68. package/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
  69. package/bibliotecas/dialetos/egua-classico/tempo.js.map +1 -1
  70. package/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
  71. package/bibliotecas/dialetos/egua-classico/textos.js +201 -201
  72. package/bibliotecas/dialetos/egua-classico/textos.js.map +1 -1
  73. package/bibliotecas/primitivas-dicionario.d.ts +6 -6
  74. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  75. package/bibliotecas/primitivas-dicionario.js +10 -10
  76. package/bibliotecas/primitivas-numero.d.ts +6 -6
  77. package/bibliotecas/primitivas-numero.d.ts.map +1 -1
  78. package/bibliotecas/primitivas-numero.js +10 -10
  79. package/bibliotecas/primitivas-texto.d.ts +17 -17
  80. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  81. package/bibliotecas/primitivas-texto.js +22 -22
  82. package/bibliotecas/primitivas-texto.js.map +1 -1
  83. package/bibliotecas/primitivas-vetor.d.ts +21 -21
  84. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  85. package/bibliotecas/primitivas-vetor.js +88 -90
  86. package/bibliotecas/primitivas-vetor.js.map +1 -1
  87. package/bin/package.json +13 -12
  88. package/construtos/acesso-elemento-matriz.d.ts +12 -12
  89. package/construtos/acesso-elemento-matriz.js +17 -17
  90. package/construtos/acesso-indice-variavel.d.ts +15 -15
  91. package/construtos/acesso-indice-variavel.js +20 -20
  92. package/construtos/acesso-metodo-ou-propriedade.d.ts +14 -14
  93. package/construtos/acesso-metodo-ou-propriedade.js +19 -19
  94. package/construtos/agrupamento.d.ts +14 -14
  95. package/construtos/agrupamento.js +19 -19
  96. package/construtos/atribuicao-por-indice.d.ts +11 -11
  97. package/construtos/atribuicao-por-indice.js +16 -16
  98. package/construtos/atribuicao-por-indices-matriz.d.ts +12 -12
  99. package/construtos/atribuicao-por-indices-matriz.js +17 -17
  100. package/construtos/atribuir.d.ts +15 -15
  101. package/construtos/atribuir.js +24 -24
  102. package/construtos/atribuir.js.map +1 -1
  103. package/construtos/binario.d.ts +33 -33
  104. package/construtos/binario.d.ts.map +1 -1
  105. package/construtos/binario.js +38 -38
  106. package/construtos/binario.js.map +1 -1
  107. package/construtos/chamada.d.ts +15 -15
  108. package/construtos/chamada.d.ts.map +1 -1
  109. package/construtos/chamada.js +21 -21
  110. package/construtos/chamada.js.map +1 -1
  111. package/construtos/comentario.d.ts +15 -15
  112. package/construtos/comentario.js +20 -20
  113. package/construtos/constante.d.ts +12 -12
  114. package/construtos/constante.d.ts.map +1 -1
  115. package/construtos/constante.js +17 -17
  116. package/construtos/constante.js.map +1 -1
  117. package/construtos/construto.d.ts +7 -7
  118. package/construtos/construto.js +2 -2
  119. package/construtos/decorador.d.ts +18 -14
  120. package/construtos/decorador.d.ts.map +1 -1
  121. package/construtos/decorador.js +19 -19
  122. package/construtos/decorador.js.map +1 -1
  123. package/construtos/definir-valor.d.ts +11 -11
  124. package/construtos/definir-valor.js +16 -16
  125. package/construtos/dicionario.d.ts +10 -10
  126. package/construtos/dicionario.js +15 -15
  127. package/construtos/expressao-regular.d.ts +10 -10
  128. package/construtos/expressao-regular.d.ts.map +1 -1
  129. package/construtos/expressao-regular.js +15 -15
  130. package/construtos/expressao-regular.js.map +1 -1
  131. package/construtos/fim-para.d.ts +22 -22
  132. package/construtos/fim-para.js +25 -25
  133. package/construtos/formatacao-escrita.d.ts +16 -16
  134. package/construtos/formatacao-escrita.js +21 -21
  135. package/construtos/funcao.d.ts +12 -12
  136. package/construtos/funcao.js +16 -16
  137. package/construtos/index.d.ts +29 -29
  138. package/construtos/index.js +45 -45
  139. package/construtos/isto.d.ts +9 -9
  140. package/construtos/isto.js +14 -14
  141. package/construtos/literal.d.ts +10 -10
  142. package/construtos/literal.js +14 -14
  143. package/construtos/logico.d.ts +11 -11
  144. package/construtos/logico.js +16 -16
  145. package/construtos/qual-tipo.d.ts +11 -11
  146. package/construtos/qual-tipo.d.ts.map +1 -1
  147. package/construtos/qual-tipo.js +16 -16
  148. package/construtos/qual-tipo.js.map +1 -1
  149. package/construtos/super.d.ts +10 -10
  150. package/construtos/super.js +15 -15
  151. package/construtos/tipo-de.d.ts +10 -10
  152. package/construtos/tipo-de.d.ts.map +1 -1
  153. package/construtos/tipo-de.js +15 -15
  154. package/construtos/tipo-de.js.map +1 -1
  155. package/construtos/tuplas/deceto.d.ts +18 -18
  156. package/construtos/tuplas/deceto.js +32 -32
  157. package/construtos/tuplas/dupla.d.ts +6 -6
  158. package/construtos/tuplas/dupla.js +12 -12
  159. package/construtos/tuplas/index.d.ts +13 -13
  160. package/construtos/tuplas/index.js +67 -67
  161. package/construtos/tuplas/index.js.map +1 -1
  162. package/construtos/tuplas/noneto.d.ts +15 -15
  163. package/construtos/tuplas/noneto.js +25 -25
  164. package/construtos/tuplas/octeto.d.ts +14 -14
  165. package/construtos/tuplas/octeto.js +24 -24
  166. package/construtos/tuplas/quarteto.d.ts +8 -8
  167. package/construtos/tuplas/quarteto.js +14 -14
  168. package/construtos/tuplas/quinteto.d.ts +9 -9
  169. package/construtos/tuplas/quinteto.js +15 -15
  170. package/construtos/tuplas/septeto.d.ts +13 -13
  171. package/construtos/tuplas/septeto.js +23 -23
  172. package/construtos/tuplas/sexteto.d.ts +10 -10
  173. package/construtos/tuplas/sexteto.js +16 -16
  174. package/construtos/tuplas/trio.d.ts +7 -7
  175. package/construtos/tuplas/trio.js +13 -13
  176. package/construtos/tuplas/tupla.d.ts +8 -8
  177. package/construtos/tuplas/tupla.js +9 -9
  178. package/construtos/unario.d.ts +11 -11
  179. package/construtos/unario.js +16 -16
  180. package/construtos/variavel.d.ts +9 -9
  181. package/construtos/variavel.d.ts.map +1 -1
  182. package/construtos/variavel.js +14 -14
  183. package/construtos/variavel.js.map +1 -1
  184. package/construtos/vetor.d.ts +11 -11
  185. package/construtos/vetor.js +21 -21
  186. package/construtos/vetor.js.map +1 -1
  187. package/declaracoes/aleatorio.d.ts +15 -15
  188. package/declaracoes/aleatorio.js +15 -15
  189. package/declaracoes/bloco.d.ts +7 -7
  190. package/declaracoes/bloco.js +14 -14
  191. package/declaracoes/cabecalho-programa.d.ts +7 -7
  192. package/declaracoes/cabecalho-programa.js +14 -14
  193. package/declaracoes/classe.d.ts +14 -14
  194. package/declaracoes/classe.js +18 -18
  195. package/declaracoes/const-multiplo.d.ts +14 -14
  196. package/declaracoes/const-multiplo.js +19 -19
  197. package/declaracoes/const.d.ts +14 -14
  198. package/declaracoes/const.d.ts.map +1 -1
  199. package/declaracoes/const.js +19 -19
  200. package/declaracoes/const.js.map +1 -1
  201. package/declaracoes/continua.d.ts +6 -6
  202. package/declaracoes/continua.js +13 -13
  203. package/declaracoes/declaracao.d.ts +10 -8
  204. package/declaracoes/declaracao.d.ts.map +1 -1
  205. package/declaracoes/declaracao.js +18 -17
  206. package/declaracoes/declaracao.js.map +1 -1
  207. package/declaracoes/enquanto.d.ts +10 -10
  208. package/declaracoes/enquanto.js +15 -15
  209. package/declaracoes/escolha.d.ts +14 -14
  210. package/declaracoes/escolha.js +19 -19
  211. package/declaracoes/escreva-mesma-linha.d.ts +8 -8
  212. package/declaracoes/escreva-mesma-linha.js +14 -14
  213. package/declaracoes/escreva.d.ts +8 -8
  214. package/declaracoes/escreva.js +14 -14
  215. package/declaracoes/expressao.d.ts +8 -8
  216. package/declaracoes/expressao.d.ts.map +1 -1
  217. package/declaracoes/expressao.js +14 -14
  218. package/declaracoes/expressao.js.map +1 -1
  219. package/declaracoes/falhar.d.ts +8 -8
  220. package/declaracoes/falhar.js +15 -15
  221. package/declaracoes/fazer.d.ts +10 -10
  222. package/declaracoes/fazer.js +15 -15
  223. package/declaracoes/funcao.d.ts +11 -11
  224. package/declaracoes/funcao.js +17 -17
  225. package/declaracoes/importar.d.ts +9 -9
  226. package/declaracoes/importar.js +15 -15
  227. package/declaracoes/index.d.ts +31 -31
  228. package/declaracoes/index.js +47 -47
  229. package/declaracoes/inicio-algoritmo.d.ts +6 -6
  230. package/declaracoes/inicio-algoritmo.js +13 -13
  231. package/declaracoes/leia-multiplo.d.ts +14 -14
  232. package/declaracoes/leia-multiplo.js +21 -21
  233. package/declaracoes/leia.d.ts +17 -17
  234. package/declaracoes/leia.js +21 -21
  235. package/declaracoes/para-cada.d.ts +11 -11
  236. package/declaracoes/para-cada.js +17 -17
  237. package/declaracoes/para.d.ts +19 -19
  238. package/declaracoes/para.js +24 -24
  239. package/declaracoes/propriedade-classe.d.ts +10 -10
  240. package/declaracoes/propriedade-classe.js +16 -16
  241. package/declaracoes/retorna.d.ts +8 -8
  242. package/declaracoes/retorna.js +15 -15
  243. package/declaracoes/se.d.ts +11 -11
  244. package/declaracoes/se.js +17 -17
  245. package/declaracoes/sustar.d.ts +6 -6
  246. package/declaracoes/sustar.js +13 -13
  247. package/declaracoes/tendo-como.d.ts +16 -16
  248. package/declaracoes/tendo-como.d.ts.map +1 -1
  249. package/declaracoes/tendo-como.js +21 -21
  250. package/declaracoes/tendo-como.js.map +1 -1
  251. package/declaracoes/tente.d.ts +14 -14
  252. package/declaracoes/tente.js +20 -20
  253. package/declaracoes/var-multiplo.d.ts +15 -15
  254. package/declaracoes/var-multiplo.js +20 -20
  255. package/declaracoes/var.d.ts +16 -16
  256. package/declaracoes/var.d.ts.map +1 -1
  257. package/declaracoes/var.js +21 -21
  258. package/declaracoes/var.js.map +1 -1
  259. package/depuracao/cyrb53.d.ts +9 -9
  260. package/depuracao/cyrb53.js +22 -22
  261. package/depuracao/cyrb53.js.map +1 -1
  262. package/depuracao/index.d.ts +2 -2
  263. package/depuracao/index.js +23 -23
  264. package/depuracao/ponto-parada.d.ts +4 -4
  265. package/depuracao/ponto-parada.js +2 -2
  266. package/espaco-variaveis.d.ts +19 -19
  267. package/espaco-variaveis.js +19 -19
  268. package/estruturas/chamavel.d.ts +7 -7
  269. package/estruturas/chamavel.d.ts.map +1 -1
  270. package/estruturas/chamavel.js +12 -12
  271. package/estruturas/chamavel.js.map +1 -1
  272. package/estruturas/classe-padrao.d.ts +31 -31
  273. package/estruturas/classe-padrao.d.ts.map +1 -1
  274. package/estruturas/classe-padrao.js +39 -39
  275. package/estruturas/delegua-funcao.d.ts +29 -29
  276. package/estruturas/delegua-funcao.d.ts.map +1 -1
  277. package/estruturas/delegua-funcao.js +140 -141
  278. package/estruturas/delegua-funcao.js.map +1 -1
  279. package/estruturas/descritor-tipo-classe.d.ts +37 -37
  280. package/estruturas/descritor-tipo-classe.js +79 -79
  281. package/estruturas/descritor-tipo-classe.js.map +1 -1
  282. package/estruturas/funcao-padrao.d.ts +23 -23
  283. package/estruturas/funcao-padrao.js +34 -34
  284. package/estruturas/index.d.ts +9 -9
  285. package/estruturas/index.js +25 -25
  286. package/estruturas/metodo-primitiva.d.ts +28 -28
  287. package/estruturas/metodo-primitiva.js +40 -40
  288. package/estruturas/modulo.d.ts +18 -18
  289. package/estruturas/modulo.js +24 -24
  290. package/estruturas/objeto-delegua-classe.d.ts +26 -26
  291. package/estruturas/objeto-delegua-classe.js +53 -53
  292. package/estruturas/objeto-delegua-classe.js.map +1 -1
  293. package/estruturas/objeto-padrao.d.ts +18 -18
  294. package/estruturas/objeto-padrao.js +32 -32
  295. package/estruturas/objeto-padrao.js.map +1 -1
  296. package/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  297. package/excecoes/erro-em-tempo-de-execucao.js +13 -13
  298. package/excecoes/index.d.ts +1 -1
  299. package/excecoes/index.js +17 -17
  300. package/formatadores/formatador-delegua.d.ts +79 -79
  301. package/formatadores/formatador-delegua.d.ts.map +1 -1
  302. package/formatadores/formatador-delegua.js +676 -676
  303. package/formatadores/formatador-delegua.js.map +1 -1
  304. package/formatadores/index.d.ts +1 -1
  305. package/formatadores/index.js +17 -17
  306. package/geracao-identificadores/index.d.ts +1 -1
  307. package/geracao-identificadores/index.js +22 -23
  308. package/geracao-identificadores/index.js.map +1 -1
  309. package/index.d.ts +9 -9
  310. package/index.js +27 -27
  311. package/interfaces/analisador-semantico-interface.d.ts +6 -6
  312. package/interfaces/analisador-semantico-interface.js +2 -2
  313. package/interfaces/avaliador-sintatico-interface.d.ts +10 -55
  314. package/interfaces/avaliador-sintatico-interface.d.ts.map +1 -1
  315. package/interfaces/avaliador-sintatico-interface.js +2 -2
  316. package/interfaces/construtos/index.d.ts +4 -4
  317. package/interfaces/construtos/index.js +2 -2
  318. package/interfaces/erros/diagnostico-analisador-semantico.d.ts +14 -14
  319. package/interfaces/erros/diagnostico-analisador-semantico.js +10 -10
  320. package/interfaces/erros/diagnostico-analisador-semantico.js.map +1 -1
  321. package/interfaces/erros/erro-interpretador.d.ts +8 -8
  322. package/interfaces/erros/erro-interpretador.js +2 -2
  323. package/interfaces/erros/index.d.ts +1 -1
  324. package/interfaces/erros/index.js +17 -17
  325. package/interfaces/escopo-execucao.d.ts +12 -12
  326. package/interfaces/escopo-execucao.js +2 -2
  327. package/interfaces/formatador-comum-interface.d.ts +11 -11
  328. package/interfaces/formatador-comum-interface.js +2 -2
  329. package/interfaces/funcao-hipotetica-interface.d.ts +3 -3
  330. package/interfaces/funcao-hipotetica-interface.js +2 -2
  331. package/interfaces/index.d.ts +16 -16
  332. package/interfaces/index.js +32 -32
  333. package/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
  334. package/interfaces/interpretador-com-depuracao-interface.js +2 -2
  335. package/interfaces/interpretador-interface-potigol.d.ts +5 -5
  336. package/interfaces/interpretador-interface-potigol.js +2 -2
  337. package/interfaces/interpretador-interface.d.ts +20 -20
  338. package/interfaces/interpretador-interface.js +2 -2
  339. package/interfaces/lexador-interface.d.ts +23 -23
  340. package/interfaces/lexador-interface.js +2 -2
  341. package/interfaces/parametro-interface.d.ts +15 -15
  342. package/interfaces/parametro-interface.js +2 -2
  343. package/interfaces/pilha-escopos-execucao-interface.d.ts +26 -26
  344. package/interfaces/pilha-escopos-execucao-interface.js +2 -2
  345. package/interfaces/pilha-interface.d.ts +7 -7
  346. package/interfaces/pilha-interface.js +2 -2
  347. package/interfaces/resolvedor-interface.d.ts +41 -41
  348. package/interfaces/resolvedor-interface.js +2 -2
  349. package/interfaces/retornos/index.d.ts +4 -4
  350. package/interfaces/retornos/index.js +20 -20
  351. package/interfaces/retornos/retorno-analisador-semantico.d.ts +4 -4
  352. package/interfaces/retornos/retorno-analisador-semantico.js +2 -2
  353. package/interfaces/retornos/retorno-avaliador-sintatico.d.ts +5 -5
  354. package/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
  355. package/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
  356. package/interfaces/retornos/retorno-execucao-interface.js +2 -2
  357. package/interfaces/retornos/retorno-interpretador.d.ts +5 -5
  358. package/interfaces/retornos/retorno-interpretador.js +2 -2
  359. package/interfaces/retornos/retorno-lexador.d.ts +9 -9
  360. package/interfaces/retornos/retorno-lexador.js +2 -2
  361. package/interfaces/simbolo-interface.d.ts +7 -7
  362. package/interfaces/simbolo-interface.js +2 -2
  363. package/interfaces/tradutor-interface.d.ts +3 -3
  364. package/interfaces/tradutor-interface.js +2 -2
  365. package/interfaces/variavel-hipotetica-interface.d.ts +8 -8
  366. package/interfaces/variavel-hipotetica-interface.js +2 -2
  367. package/interfaces/variavel-interface.d.ts +8 -8
  368. package/interfaces/variavel-interface.d.ts.map +1 -1
  369. package/interfaces/variavel-interface.js +2 -2
  370. package/interfaces/visitante-comum-interface.d.ts +58 -58
  371. package/interfaces/visitante-comum-interface.js +2 -2
  372. package/interpretador/argumento-interface.d.ts +4 -4
  373. package/interpretador/argumento-interface.js +2 -2
  374. package/interpretador/comum.d.ts +2 -2
  375. package/interpretador/comum.d.ts.map +1 -1
  376. package/interpretador/comum.js +51 -52
  377. package/interpretador/comum.js.map +1 -1
  378. package/interpretador/dialetos/egua-classico/index.d.ts +1 -1
  379. package/interpretador/dialetos/egua-classico/index.js +17 -17
  380. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +119 -119
  381. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts.map +1 -1
  382. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +815 -815
  383. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  384. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
  385. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
  386. package/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
  387. package/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
  388. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
  389. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
  390. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +106 -106
  391. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +441 -441
  392. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  393. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
  394. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
  395. package/interpretador/dialetos/index.d.ts +2 -2
  396. package/interpretador/dialetos/index.js +18 -18
  397. package/interpretador/dialetos/portugol-ipt/index.d.ts +1 -1
  398. package/interpretador/dialetos/portugol-ipt/index.js +17 -17
  399. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +133 -133
  400. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts.map +1 -1
  401. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +501 -501
  402. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  403. package/interpretador/index.d.ts +3 -3
  404. package/interpretador/index.js +19 -19
  405. package/interpretador/inferenciador.d.ts +15 -15
  406. package/interpretador/inferenciador.d.ts.map +1 -1
  407. package/interpretador/inferenciador.js +80 -80
  408. package/interpretador/inferenciador.js.map +1 -1
  409. package/interpretador/interpretador-base.d.ts +268 -268
  410. package/interpretador/interpretador-base.d.ts.map +1 -1
  411. package/interpretador/interpretador-base.js +1396 -1399
  412. package/interpretador/interpretador-base.js.map +1 -1
  413. package/interpretador/interpretador-com-depuracao.d.ts +190 -190
  414. package/interpretador/interpretador-com-depuracao.d.ts.map +1 -1
  415. package/interpretador/interpretador-com-depuracao.js +570 -568
  416. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  417. package/interpretador/pilha-escopos-execucao.d.ts +39 -39
  418. package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
  419. package/interpretador/pilha-escopos-execucao.js +243 -243
  420. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  421. package/lexador/dialetos/index.d.ts +4 -4
  422. package/lexador/dialetos/index.js +20 -20
  423. package/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
  424. package/lexador/dialetos/lexador-egua-classico.js +286 -286
  425. package/lexador/dialetos/lexador-egua-classico.js.map +1 -1
  426. package/lexador/dialetos/lexador-guarani.d.ts +10 -10
  427. package/lexador/dialetos/lexador-guarani.js +113 -113
  428. package/lexador/dialetos/lexador-guarani.js.map +1 -1
  429. package/lexador/dialetos/lexador-pitugues.d.ts +51 -51
  430. package/lexador/dialetos/lexador-pitugues.js +398 -398
  431. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  432. package/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
  433. package/lexador/dialetos/lexador-portugol-ipt.js +237 -237
  434. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  435. package/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +32 -32
  436. package/lexador/dialetos/palavras-reservadas/egua-classico.js +39 -39
  437. package/lexador/dialetos/palavras-reservadas/guarani.d.ts +3 -3
  438. package/lexador/dialetos/palavras-reservadas/guarani.js +10 -10
  439. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +13 -13
  440. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +20 -20
  441. package/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +1 -1
  442. package/lexador/dialetos/palavras-reservadas/rantiaquin.js +4 -4
  443. package/lexador/dialetos/pragma.d.ts +8 -8
  444. package/lexador/dialetos/pragma.js +2 -2
  445. package/lexador/erro-lexador.d.ts +5 -5
  446. package/lexador/erro-lexador.js +2 -2
  447. package/lexador/index.d.ts +4 -4
  448. package/lexador/index.js +20 -20
  449. package/lexador/lexador-base-linha-unica.d.ts +28 -28
  450. package/lexador/lexador-base-linha-unica.js +82 -82
  451. package/lexador/lexador-base-linha-unica.js.map +1 -1
  452. package/lexador/lexador-base.d.ts +41 -41
  453. package/lexador/lexador-base.js +112 -112
  454. package/lexador/lexador-base.js.map +1 -1
  455. package/lexador/lexador.d.ts +43 -43
  456. package/lexador/lexador.js +440 -440
  457. package/lexador/lexador.js.map +1 -1
  458. package/lexador/micro-lexador.d.ts +29 -29
  459. package/lexador/micro-lexador.js +207 -207
  460. package/lexador/micro-lexador.js.map +1 -1
  461. package/lexador/palavras-reservadas.d.ts +54 -54
  462. package/lexador/palavras-reservadas.js +61 -61
  463. package/lexador/simbolo.d.ts +10 -10
  464. package/lexador/simbolo.js +16 -16
  465. package/lexador/traducao/lexador-javascript.d.ts +28 -28
  466. package/lexador/traducao/lexador-javascript.js +58 -58
  467. package/package.json +13 -12
  468. package/quebras/index.d.ts +10 -10
  469. package/quebras/index.js +19 -19
  470. package/tipo-dados-elementar.d.ts +1 -1
  471. package/tipo-dados-elementar.js +2 -2
  472. package/tipos-de-dados/delegua.d.ts +18 -18
  473. package/tipos-de-dados/delegua.js +19 -19
  474. package/tipos-de-dados/listas-delegua.d.ts +6 -6
  475. package/tipos-de-dados/listas-delegua.js +7 -7
  476. package/tipos-de-dados/listas-primitivos.d.ts +5 -5
  477. package/tipos-de-dados/listas-primitivos.js +6 -6
  478. package/tipos-de-dados/primitivos.d.ts +16 -16
  479. package/tipos-de-dados/primitivos.js +17 -17
  480. package/tipos-de-simbolos/comum.d.ts +23 -23
  481. package/tipos-de-simbolos/comum.js +24 -24
  482. package/tipos-de-simbolos/delegua.d.ts +91 -91
  483. package/tipos-de-simbolos/delegua.js +92 -92
  484. package/tipos-de-simbolos/egua-classico.d.ts +75 -75
  485. package/tipos-de-simbolos/egua-classico.js +76 -76
  486. package/tipos-de-simbolos/guarani.d.ts +14 -14
  487. package/tipos-de-simbolos/guarani.js +15 -15
  488. package/tipos-de-simbolos/guarani.js.map +1 -1
  489. package/tipos-de-simbolos/microgramaticas/delegua.d.ts +46 -46
  490. package/tipos-de-simbolos/microgramaticas/delegua.js +47 -47
  491. package/tipos-de-simbolos/pitugues.d.ts +75 -75
  492. package/tipos-de-simbolos/pitugues.js +76 -76
  493. package/tipos-de-simbolos/portugol-ipt.d.ts +36 -36
  494. package/tipos-de-simbolos/portugol-ipt.js +37 -37
  495. package/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  496. package/tipos-de-simbolos/rantiaquin.js +3 -3
  497. package/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  498. package/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  499. package/tradutores/dicionarios/index.d.ts +1 -1
  500. package/tradutores/dicionarios/index.js +17 -17
  501. package/tradutores/index.d.ts +6 -6
  502. package/tradutores/index.js +22 -22
  503. package/tradutores/python/python3-lexer.d.ts +152 -152
  504. package/tradutores/python/python3-lexer.js +1227 -1227
  505. package/tradutores/python/python3-lexer.js.map +1 -1
  506. package/tradutores/python/python3-listener.d.ts +964 -964
  507. package/tradutores/python/python3-listener.js +3 -3
  508. package/tradutores/python/python3-parser.d.ts +1342 -1342
  509. package/tradutores/python/python3-parser.js +11226 -11226
  510. package/tradutores/python/python3-parser.js.map +1 -1
  511. package/tradutores/python/python3-visitor.d.ts +619 -619
  512. package/tradutores/python/python3-visitor.js +3 -3
  513. package/tradutores/tradutor-assembly-x64.d.ts +19 -19
  514. package/tradutores/tradutor-assembly-x64.js +141 -141
  515. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  516. package/tradutores/tradutor-assemblyscript.d.ts +91 -91
  517. package/tradutores/tradutor-assemblyscript.js +590 -590
  518. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  519. package/tradutores/tradutor-javascript.d.ts +95 -95
  520. package/tradutores/tradutor-javascript.js +577 -577
  521. package/tradutores/tradutor-javascript.js.map +1 -1
  522. package/tradutores/tradutor-portugol-ipt.d.ts +21 -21
  523. package/tradutores/tradutor-portugol-ipt.js +60 -60
  524. package/tradutores/tradutor-portugol-ipt.js.map +1 -1
  525. package/tradutores/tradutor-python.d.ts +65 -65
  526. package/tradutores/tradutor-python.js +461 -461
  527. package/tradutores/tradutor-python.js.map +1 -1
  528. package/tradutores/tradutor-reverso-javascript.d.ts +50 -50
  529. package/tradutores/tradutor-reverso-javascript.js +392 -392
  530. package/tradutores/tradutor-reverso-javascript.js.map +1 -1
  531. package/tradutores/tradutor-reverso-python.d.ts +32 -32
  532. package/tradutores/tradutor-reverso-python.js +71 -71
  533. package/tradutores/tradutor-reverso-python.js.map +1 -1
  534. package/umd/delegua.js +26204 -26346
@@ -1,142 +1,141 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeleguaFuncao = void 0;
4
- const chamavel_1 = require("./chamavel");
5
- const espaco_variaveis_1 = require("../espaco-variaveis");
6
- const quebras_1 = require("../quebras");
7
- const inferenciador_1 = require("../interpretador/inferenciador");
8
- const declaracoes_1 = require("../declaracoes");
9
- /**
10
- * Qualquer função declarada em código é uma DeleguaFuncao.
11
- */
12
- class DeleguaFuncao extends chamavel_1.Chamavel {
13
- constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
14
- super();
15
- this.nome = nome;
16
- this.declaracao = declaracao;
17
- this.instancia = instancia;
18
- this.eInicializador = eInicializador;
19
- }
20
- aridade() {
21
- var _a, _b;
22
- return ((_b = (_a = this.declaracao) === null || _a === void 0 ? void 0 : _a.parametros) === null || _b === void 0 ? void 0 : _b.length) || 0;
23
- }
24
- /**
25
- * Método utilizado por Delégua para representar esta função quando impressa.
26
- * @returns {string} A representação da função como texto.
27
- */
28
- paraTexto() {
29
- var _a;
30
- if (!this.nome)
31
- return '<função>';
32
- let resultado = `<função ${this.nome}`;
33
- let parametros = '';
34
- let retorno = '';
35
- for (let parametro of this.declaracao.parametros) {
36
- parametros += `${parametro.nome.lexema}${parametro.tipoDado && parametro.tipoDado.tipo ? `: ${parametro.tipoDado.tipo}, ` : ', '}`;
37
- }
38
- if (this.declaracao.parametros.length > 0) {
39
- parametros = `argumentos=<${parametros.slice(0, -2)}>`;
40
- }
41
- const retorna = this.declaracao.corpo.filter((c) => c instanceof declaracoes_1.Retorna)[0];
42
- if (retorna instanceof declaracoes_1.Retorna) {
43
- const valor = (_a = retorna === null || retorna === void 0 ? void 0 : retorna.valor) === null || _a === void 0 ? void 0 : _a.valor;
44
- retorno = `retorna=<${typeof valor === 'number' ? valor : `'${valor}'`}>`;
45
- }
46
- if (parametros) {
47
- resultado += ` ${parametros}`;
48
- }
49
- if (retorno) {
50
- resultado += ` ${retorno}`;
51
- }
52
- resultado += '>';
53
- return resultado;
54
- }
55
- /**
56
- * Método utilizado pelo VSCode para inspecionar esta função em depuração.
57
- * @returns {string} A representação da função como texto.
58
- */
59
- toString() {
60
- return this.paraTexto();
61
- }
62
- resolverParametrosEspalhados(argumentos, indiceArgumentoAtual) {
63
- const argumentosResolvidos = [];
64
- for (let i = indiceArgumentoAtual; i < argumentos.length; i++) {
65
- const argumentoAtual = argumentos[i];
66
- argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual);
67
- }
68
- return argumentosResolvidos;
69
- }
70
- async chamar(visitante, argumentos) {
71
- const ambiente = new espaco_variaveis_1.EspacoVariaveis();
72
- const parametros = this.declaracao.parametros || [];
73
- for (let i = 0; i < parametros.length; i++) {
74
- const parametro = parametros[i];
75
- const nome = parametro['nome'].lexema;
76
- if (parametro.abrangencia === 'multiplo') {
77
- const argumentosResolvidos = this.resolverParametrosEspalhados(argumentos, i);
78
- // TODO: Verificar se `imutavel` é `true` aqui mesmo.
79
- ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true };
80
- }
81
- else {
82
- let argumento = argumentos[i];
83
- if (argumentos[i] === null) {
84
- argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
85
- }
86
- ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
87
- }
88
- }
89
- if (this.instancia !== undefined) {
90
- ambiente.valores['isto'] = {
91
- valor: this.instancia,
92
- tipo: 'objeto',
93
- imutavel: false,
94
- };
95
- // TODO: Apenass Potigol usa isso até então.
96
- // Estudar mover isso para o dialeto.
97
- if (this.instancia.classe.dialetoRequerExpansaoPropriedadesEspacoVariaveis &&
98
- this.nome !== 'construtor') {
99
- for (let [nomeCampo, valorCampo] of Object.entries(this.instancia.propriedades)) {
100
- ambiente.valores[nomeCampo] = {
101
- valor: valorCampo,
102
- tipo: (0, inferenciador_1.inferirTipoVariavel)(valorCampo),
103
- imutavel: false,
104
- };
105
- }
106
- }
107
- }
108
- // TODO: Repensar essa dinâmica para análise semântica.
109
- const interpretador = visitante;
110
- interpretador.proximoEscopo = 'funcao';
111
- const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
112
- const referencias = this.declaracao.parametros
113
- .map((p, indice) => {
114
- if (p.referencia) {
115
- return {
116
- indice: indice,
117
- parametro: p,
118
- };
119
- }
120
- })
121
- .filter((r) => r);
122
- const pilha = interpretador.pilhaEscoposExecucao;
123
- for (let referencia of referencias) {
124
- let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
125
- pilha.atribuirVariavel({
126
- lexema: argumentos[referencia.indice].nome,
127
- }, argumentoReferencia.valor);
128
- }
129
- if (retornoBloco instanceof quebras_1.RetornoQuebra) {
130
- return retornoBloco.valor;
131
- }
132
- if (this.eInicializador) {
133
- return this.instancia;
134
- }
135
- return retornoBloco;
136
- }
137
- funcaoPorMetodoDeClasse(instancia) {
138
- return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
139
- }
140
- }
141
- exports.DeleguaFuncao = DeleguaFuncao;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleguaFuncao = void 0;
4
+ const chamavel_1 = require("./chamavel");
5
+ const espaco_variaveis_1 = require("../espaco-variaveis");
6
+ const quebras_1 = require("../quebras");
7
+ const inferenciador_1 = require("../interpretador/inferenciador");
8
+ const declaracoes_1 = require("../declaracoes");
9
+ /**
10
+ * Qualquer função declarada em código é uma DeleguaFuncao.
11
+ */
12
+ class DeleguaFuncao extends chamavel_1.Chamavel {
13
+ constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
14
+ super();
15
+ this.nome = nome;
16
+ this.declaracao = declaracao;
17
+ this.instancia = instancia;
18
+ this.eInicializador = eInicializador;
19
+ }
20
+ aridade() {
21
+ var _a, _b;
22
+ return ((_b = (_a = this.declaracao) === null || _a === void 0 ? void 0 : _a.parametros) === null || _b === void 0 ? void 0 : _b.length) || 0;
23
+ }
24
+ /**
25
+ * Método utilizado por Delégua para representar esta função quando impressa.
26
+ * @returns {string} A representação da função como texto.
27
+ */
28
+ paraTexto() {
29
+ var _a;
30
+ if (!this.nome)
31
+ return '<função>';
32
+ let resultado = `<função ${this.nome}`;
33
+ let parametros = '';
34
+ let retorno = '';
35
+ for (let parametro of this.declaracao.parametros) {
36
+ parametros += `${parametro.nome.lexema}${parametro.tipoDado && parametro.tipoDado.tipo ? `: ${parametro.tipoDado.tipo}, ` : ', '}`;
37
+ }
38
+ if (this.declaracao.parametros.length > 0) {
39
+ parametros = `argumentos=<${parametros.slice(0, -2)}>`;
40
+ }
41
+ const retorna = this.declaracao.corpo.filter((c) => c instanceof declaracoes_1.Retorna)[0];
42
+ if (retorna instanceof declaracoes_1.Retorna) {
43
+ const valor = (_a = retorna === null || retorna === void 0 ? void 0 : retorna.valor) === null || _a === void 0 ? void 0 : _a.valor;
44
+ retorno = `retorna=<${typeof valor === 'number' ? valor : `'${valor}'`}>`;
45
+ }
46
+ if (parametros) {
47
+ resultado += ` ${parametros}`;
48
+ }
49
+ if (retorno) {
50
+ resultado += ` ${retorno}`;
51
+ }
52
+ resultado += '>';
53
+ return resultado;
54
+ }
55
+ /**
56
+ * Método utilizado pelo VSCode para inspecionar esta função em depuração.
57
+ * @returns {string} A representação da função como texto.
58
+ */
59
+ toString() {
60
+ return this.paraTexto();
61
+ }
62
+ resolverParametrosEspalhados(argumentos, indiceArgumentoAtual) {
63
+ const argumentosResolvidos = [];
64
+ for (let i = indiceArgumentoAtual; i < argumentos.length; i++) {
65
+ const argumentoAtual = argumentos[i];
66
+ argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual);
67
+ }
68
+ return argumentosResolvidos;
69
+ }
70
+ async chamar(visitante, argumentos) {
71
+ const ambiente = new espaco_variaveis_1.EspacoVariaveis();
72
+ const parametros = this.declaracao.parametros || [];
73
+ for (let i = 0; i < parametros.length; i++) {
74
+ const parametro = parametros[i];
75
+ const nome = parametro['nome'].lexema;
76
+ if (parametro.abrangencia === 'multiplo') {
77
+ const argumentosResolvidos = this.resolverParametrosEspalhados(argumentos, i);
78
+ // TODO: Verificar se `imutavel` é `true` aqui mesmo.
79
+ ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true };
80
+ }
81
+ else {
82
+ let argumento = argumentos[i];
83
+ if (argumentos[i] === null) {
84
+ argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
85
+ }
86
+ ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
87
+ }
88
+ }
89
+ if (this.instancia !== undefined) {
90
+ ambiente.valores['isto'] = {
91
+ valor: this.instancia,
92
+ tipo: 'objeto',
93
+ imutavel: false,
94
+ };
95
+ // TODO: Apenass Potigol usa isso até então.
96
+ // Estudar mover isso para o dialeto.
97
+ if (this.instancia.classe.dialetoRequerExpansaoPropriedadesEspacoVariaveis && this.nome !== 'construtor') {
98
+ for (let [nomeCampo, valorCampo] of Object.entries(this.instancia.propriedades)) {
99
+ ambiente.valores[nomeCampo] = {
100
+ valor: valorCampo,
101
+ tipo: (0, inferenciador_1.inferirTipoVariavel)(valorCampo),
102
+ imutavel: false,
103
+ };
104
+ }
105
+ }
106
+ }
107
+ // TODO: Repensar essa dinâmica para análise semântica.
108
+ const interpretador = visitante;
109
+ interpretador.proximoEscopo = 'funcao';
110
+ const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
111
+ const referencias = this.declaracao.parametros
112
+ .map((p, indice) => {
113
+ if (p.referencia) {
114
+ return {
115
+ indice: indice,
116
+ parametro: p,
117
+ };
118
+ }
119
+ })
120
+ .filter((r) => r);
121
+ const pilha = interpretador.pilhaEscoposExecucao;
122
+ for (let referencia of referencias) {
123
+ let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
124
+ pilha.atribuirVariavel({
125
+ lexema: argumentos[referencia.indice].nome,
126
+ }, argumentoReferencia.valor);
127
+ }
128
+ if (retornoBloco instanceof quebras_1.RetornoQuebra) {
129
+ return retornoBloco.valor;
130
+ }
131
+ if (this.eInicializador) {
132
+ return this.instancia;
133
+ }
134
+ return retornoBloco;
135
+ }
136
+ funcaoPorMetodoDeClasse(instancia) {
137
+ return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
138
+ }
139
+ }
140
+ exports.DeleguaFuncao = DeleguaFuncao;
142
141
  //# sourceMappingURL=delegua-funcao.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,38 @@
1
- import { PropriedadeClasse } from '../declaracoes';
2
- import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
3
- import { Chamavel } from './chamavel';
4
- import { DeleguaFuncao } from './delegua-funcao';
5
- import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
6
- /**
7
- * Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
8
- * vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
9
- * de classe é criada, a referência para a instância é implementada aqui.
10
- */
11
- export declare class DescritorTipoClasse extends Chamavel {
12
- simboloOriginal: SimboloInterface;
13
- superClasse: DescritorTipoClasse;
14
- metodos: {
15
- [nome: string]: DeleguaFuncao;
16
- };
17
- propriedades: PropriedadeClasse[];
18
- dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
19
- dialetoRequerDeclaracaoPropriedades: boolean;
20
- constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
21
- [nome: string]: DeleguaFuncao;
22
- }, propriedades?: PropriedadeClasse[]);
23
- encontrarMetodo(nome: string): DeleguaFuncao;
24
- encontrarPropriedade(nome: string): PropriedadeClasse;
25
- /**
26
- * Método utilizado por Delégua para representar esta classe quando impressa.
27
- * @returns {string} A representação da classe como texto.
28
- */
29
- paraTexto(): string;
30
- /**
31
- * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
32
- * @returns {string} A representação da classe como texto.
33
- */
34
- toString(): string;
35
- aridade(): number;
36
- chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
37
- }
1
+ import { PropriedadeClasse } from '../declaracoes';
2
+ import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
3
+ import { Chamavel } from './chamavel';
4
+ import { DeleguaFuncao } from './delegua-funcao';
5
+ import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
6
+ /**
7
+ * Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
8
+ * vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
9
+ * de classe é criada, a referência para a instância é implementada aqui.
10
+ */
11
+ export declare class DescritorTipoClasse extends Chamavel {
12
+ simboloOriginal: SimboloInterface;
13
+ superClasse: DescritorTipoClasse;
14
+ metodos: {
15
+ [nome: string]: DeleguaFuncao;
16
+ };
17
+ propriedades: PropriedadeClasse[];
18
+ dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
19
+ dialetoRequerDeclaracaoPropriedades: boolean;
20
+ constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
21
+ [nome: string]: DeleguaFuncao;
22
+ }, propriedades?: PropriedadeClasse[]);
23
+ encontrarMetodo(nome: string): DeleguaFuncao;
24
+ encontrarPropriedade(nome: string): PropriedadeClasse;
25
+ /**
26
+ * Método utilizado por Delégua para representar esta classe quando impressa.
27
+ * @returns {string} A representação da classe como texto.
28
+ */
29
+ paraTexto(): string;
30
+ /**
31
+ * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
32
+ * @returns {string} A representação da classe como texto.
33
+ */
34
+ toString(): string;
35
+ aridade(): number;
36
+ chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
37
+ }
38
38
  //# sourceMappingURL=descritor-tipo-classe.d.ts.map
@@ -1,80 +1,80 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DescritorTipoClasse = void 0;
4
- const excecoes_1 = require("../excecoes");
5
- const chamavel_1 = require("./chamavel");
6
- const objeto_delegua_classe_1 = require("./objeto-delegua-classe");
7
- /**
8
- * Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
9
- * vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
10
- * de classe é criada, a referência para a instância é implementada aqui.
11
- */
12
- class DescritorTipoClasse extends chamavel_1.Chamavel {
13
- constructor(simboloOriginal, superClasse, metodos, propriedades) {
14
- super();
15
- this.simboloOriginal = simboloOriginal;
16
- this.superClasse = superClasse;
17
- this.metodos = metodos || {};
18
- this.propriedades = propriedades || [];
19
- this.dialetoRequerDeclaracaoPropriedades = false;
20
- }
21
- encontrarMetodo(nome) {
22
- if (this.metodos.hasOwnProperty(nome)) {
23
- return this.metodos[nome];
24
- }
25
- if (this.superClasse !== null && this.superClasse !== undefined) {
26
- return this.superClasse.encontrarMetodo(nome);
27
- }
28
- return undefined;
29
- }
30
- encontrarPropriedade(nome) {
31
- if (nome in this.propriedades) {
32
- return this.propriedades[nome];
33
- }
34
- if (this.superClasse !== null && this.superClasse !== undefined) {
35
- return this.superClasse.encontrarPropriedade(nome);
36
- }
37
- if (this.dialetoRequerDeclaracaoPropriedades) {
38
- throw new excecoes_1.ErroEmTempoDeExecucao(this.simboloOriginal, `Propriedade "${nome}" não declarada na classe ${this.simboloOriginal.lexema}.`);
39
- }
40
- return undefined;
41
- }
42
- /**
43
- * Método utilizado por Delégua para representar esta classe quando impressa.
44
- * @returns {string} A representação da classe como texto.
45
- */
46
- paraTexto() {
47
- let texto = `<classe ${this.simboloOriginal.lexema}`;
48
- for (let propriedade of this.propriedades) {
49
- texto += ` ${propriedade.nome.lexema}`;
50
- if (propriedade.tipo) {
51
- texto += `:${propriedade.tipo}`;
52
- }
53
- texto += ' ';
54
- }
55
- texto += '>';
56
- return texto;
57
- }
58
- /**
59
- * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
60
- * @returns {string} A representação da classe como texto.
61
- */
62
- toString() {
63
- return this.paraTexto();
64
- }
65
- aridade() {
66
- const inicializador = this.encontrarMetodo('construtor');
67
- return inicializador ? inicializador.aridade() : 0;
68
- }
69
- async chamar(visitante, argumentos) {
70
- const instancia = new objeto_delegua_classe_1.ObjetoDeleguaClasse(this);
71
- const inicializador = this.encontrarMetodo('construtor');
72
- if (inicializador) {
73
- const metodoConstrutor = inicializador.funcaoPorMetodoDeClasse(instancia);
74
- await metodoConstrutor.chamar(visitante, argumentos);
75
- }
76
- return instancia;
77
- }
78
- }
79
- exports.DescritorTipoClasse = DescritorTipoClasse;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DescritorTipoClasse = void 0;
4
+ const excecoes_1 = require("../excecoes");
5
+ const chamavel_1 = require("./chamavel");
6
+ const objeto_delegua_classe_1 = require("./objeto-delegua-classe");
7
+ /**
8
+ * Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
9
+ * vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
10
+ * de classe é criada, a referência para a instância é implementada aqui.
11
+ */
12
+ class DescritorTipoClasse extends chamavel_1.Chamavel {
13
+ constructor(simboloOriginal, superClasse, metodos, propriedades) {
14
+ super();
15
+ this.simboloOriginal = simboloOriginal;
16
+ this.superClasse = superClasse;
17
+ this.metodos = metodos || {};
18
+ this.propriedades = propriedades || [];
19
+ this.dialetoRequerDeclaracaoPropriedades = false;
20
+ }
21
+ encontrarMetodo(nome) {
22
+ if (this.metodos.hasOwnProperty(nome)) {
23
+ return this.metodos[nome];
24
+ }
25
+ if (this.superClasse !== null && this.superClasse !== undefined) {
26
+ return this.superClasse.encontrarMetodo(nome);
27
+ }
28
+ return undefined;
29
+ }
30
+ encontrarPropriedade(nome) {
31
+ if (nome in this.propriedades) {
32
+ return this.propriedades[nome];
33
+ }
34
+ if (this.superClasse !== null && this.superClasse !== undefined) {
35
+ return this.superClasse.encontrarPropriedade(nome);
36
+ }
37
+ if (this.dialetoRequerDeclaracaoPropriedades) {
38
+ throw new excecoes_1.ErroEmTempoDeExecucao(this.simboloOriginal, `Propriedade "${nome}" não declarada na classe ${this.simboloOriginal.lexema}.`);
39
+ }
40
+ return undefined;
41
+ }
42
+ /**
43
+ * Método utilizado por Delégua para representar esta classe quando impressa.
44
+ * @returns {string} A representação da classe como texto.
45
+ */
46
+ paraTexto() {
47
+ let texto = `<classe ${this.simboloOriginal.lexema}`;
48
+ for (let propriedade of this.propriedades) {
49
+ texto += ` ${propriedade.nome.lexema}`;
50
+ if (propriedade.tipo) {
51
+ texto += `:${propriedade.tipo}`;
52
+ }
53
+ texto += ' ';
54
+ }
55
+ texto += '>';
56
+ return texto;
57
+ }
58
+ /**
59
+ * Método utilizado pelo VSCode para inspecionar esta classe em depuração.
60
+ * @returns {string} A representação da classe como texto.
61
+ */
62
+ toString() {
63
+ return this.paraTexto();
64
+ }
65
+ aridade() {
66
+ const inicializador = this.encontrarMetodo('construtor');
67
+ return inicializador ? inicializador.aridade() : 0;
68
+ }
69
+ async chamar(visitante, argumentos) {
70
+ const instancia = new objeto_delegua_classe_1.ObjetoDeleguaClasse(this);
71
+ const inicializador = this.encontrarMetodo('construtor');
72
+ if (inicializador) {
73
+ const metodoConstrutor = inicializador.funcaoPorMetodoDeClasse(instancia);
74
+ await metodoConstrutor.chamar(visitante, argumentos);
75
+ }
76
+ return instancia;
77
+ }
78
+ }
79
+ exports.DescritorTipoClasse = DescritorTipoClasse;
80
80
  //# sourceMappingURL=descritor-tipo-classe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"descritor-tipo-classe.js","sourceRoot":"","sources":["../../fontes/estruturas/descritor-tipo-classe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descritor-tipo-classe.js","sourceRoot":"","sources":["../../fontes/estruturas/descritor-tipo-classe.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,24 @@
1
- import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
2
- import { Chamavel } from './chamavel';
3
- /**
4
- * Uma `FuncaoPadrao` normalmente é uma função em JavaScript que representa um
5
- * método de uma biblioteca global, mas que pode ser usada para outros casos.
6
- */
7
- export declare class FuncaoPadrao extends Chamavel {
8
- valorAridade: number;
9
- funcao: Function;
10
- simbolo: SimboloInterface;
11
- constructor(valorAridade: number, funcao: Function);
12
- chamar(visitante: VisitanteComumInterface, argumentos: any[], simbolo: SimboloInterface): Promise<any>;
13
- /**
14
- * Método utilizado por Delégua para inspecionar esta função em depuração.
15
- * @returns {string} A representação da função como texto.
16
- */
17
- paraTexto(): string;
18
- /**
19
- * Método utilizado pelo VSCode para representar esta função quando impressa.
20
- * @returns {string} A representação da classe como texto.
21
- */
22
- toString(): string;
23
- }
1
+ import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
2
+ import { Chamavel } from './chamavel';
3
+ /**
4
+ * Uma `FuncaoPadrao` normalmente é uma função em JavaScript que representa um
5
+ * método de uma biblioteca global, mas que pode ser usada para outros casos.
6
+ */
7
+ export declare class FuncaoPadrao extends Chamavel {
8
+ valorAridade: number;
9
+ funcao: Function;
10
+ simbolo: SimboloInterface;
11
+ constructor(valorAridade: number, funcao: Function);
12
+ chamar(visitante: VisitanteComumInterface, argumentos: any[], simbolo: SimboloInterface): Promise<any>;
13
+ /**
14
+ * Método utilizado por Delégua para inspecionar esta função em depuração.
15
+ * @returns {string} A representação da função como texto.
16
+ */
17
+ paraTexto(): string;
18
+ /**
19
+ * Método utilizado pelo VSCode para representar esta função quando impressa.
20
+ * @returns {string} A representação da classe como texto.
21
+ */
22
+ toString(): string;
23
+ }
24
24
  //# sourceMappingURL=funcao-padrao.d.ts.map