@designliquido/delegua 0.1.0 → 0.1.1

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 (194) hide show
  1. package/bin/delegua +2 -2
  2. package/bin/delegua.cmd +1 -1
  3. package/bin/package.json +51 -0
  4. package/index.js +27 -0
  5. package/index.js.map +1 -0
  6. package/package.json +2 -2
  7. package/src/ambiente.js +49 -0
  8. package/src/ambiente.js.map +1 -0
  9. package/src/avaliador-sintatico/dialetos/egua-classico.js +635 -0
  10. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +1 -0
  11. package/src/avaliador-sintatico/dialetos/index.js +14 -0
  12. package/src/avaliador-sintatico/dialetos/index.js.map +1 -0
  13. package/src/avaliador-sintatico/index.js +635 -0
  14. package/src/avaliador-sintatico/index.js.map +1 -0
  15. package/src/avaliador-sintatico/parser-error.js +27 -0
  16. package/src/avaliador-sintatico/parser-error.js.map +1 -0
  17. package/src/bibliotecas/bibliotecaGlobal.js +97 -0
  18. package/src/bibliotecas/bibliotecaGlobal.js.map +1 -0
  19. package/src/bibliotecas/importarBiblioteca.js +32 -0
  20. package/src/bibliotecas/importarBiblioteca.js.map +1 -0
  21. package/src/construtos/assign-subscript.js +35 -0
  22. package/src/construtos/assign-subscript.js.map +1 -0
  23. package/src/construtos/atribuir.js +34 -0
  24. package/src/construtos/atribuir.js.map +1 -0
  25. package/src/construtos/binario.js +35 -0
  26. package/src/construtos/binario.js.map +1 -0
  27. package/src/construtos/call.js +35 -0
  28. package/src/construtos/call.js.map +1 -0
  29. package/src/construtos/conjunto.js +35 -0
  30. package/src/construtos/conjunto.js.map +1 -0
  31. package/src/construtos/dicionario.js +34 -0
  32. package/src/construtos/dicionario.js.map +1 -0
  33. package/src/construtos/expr.js +11 -0
  34. package/src/construtos/expr.js.map +1 -0
  35. package/src/construtos/funcao.js +34 -0
  36. package/src/construtos/funcao.js.map +1 -0
  37. package/src/construtos/get.js +34 -0
  38. package/src/construtos/get.js.map +1 -0
  39. package/src/construtos/grouping.js +33 -0
  40. package/src/construtos/grouping.js.map +1 -0
  41. package/src/construtos/index.js +31 -0
  42. package/src/construtos/index.js.map +1 -0
  43. package/src/construtos/isto.js +33 -0
  44. package/src/construtos/isto.js.map +1 -0
  45. package/src/construtos/literal.js +33 -0
  46. package/src/construtos/literal.js.map +1 -0
  47. package/src/construtos/logical.js +35 -0
  48. package/src/construtos/logical.js.map +1 -0
  49. package/src/construtos/subscript.js +35 -0
  50. package/src/construtos/subscript.js.map +1 -0
  51. package/src/construtos/super.js +34 -0
  52. package/src/construtos/super.js.map +1 -0
  53. package/src/construtos/unario.js +34 -0
  54. package/src/construtos/unario.js.map +1 -0
  55. package/src/construtos/variavel.js +33 -0
  56. package/src/construtos/variavel.js.map +1 -0
  57. package/src/construtos/vetor.js +33 -0
  58. package/src/construtos/vetor.js.map +1 -0
  59. package/src/declaracoes/index.js +249 -0
  60. package/src/declaracoes/index.js.map +1 -0
  61. package/src/delegua.js +132 -0
  62. package/src/delegua.js.map +1 -0
  63. package/src/estruturas/callable.js +16 -0
  64. package/src/estruturas/callable.js.map +1 -0
  65. package/src/estruturas/classe.js +57 -0
  66. package/src/estruturas/classe.js.map +1 -0
  67. package/src/estruturas/funcao-padrao.js +38 -0
  68. package/src/estruturas/funcao-padrao.js.map +1 -0
  69. package/src/estruturas/funcao.js +81 -0
  70. package/src/estruturas/funcao.js.map +1 -0
  71. package/src/estruturas/index.js +19 -0
  72. package/src/estruturas/index.js.map +1 -0
  73. package/src/estruturas/instancia.js +28 -0
  74. package/src/estruturas/instancia.js.map +1 -0
  75. package/src/estruturas/modulo.js +15 -0
  76. package/src/estruturas/modulo.js.map +1 -0
  77. package/src/excecoes/break-exception.js +27 -0
  78. package/src/excecoes/break-exception.js.map +1 -0
  79. package/src/excecoes/continue-exception.js +27 -0
  80. package/src/excecoes/continue-exception.js.map +1 -0
  81. package/src/excecoes/erro-em-tempo-de-execucao.js +31 -0
  82. package/src/excecoes/erro-em-tempo-de-execucao.js.map +1 -0
  83. package/src/excecoes/index.js +17 -0
  84. package/src/excecoes/index.js.map +1 -0
  85. package/src/excecoes/return-exception.js +30 -0
  86. package/src/excecoes/return-exception.js.map +1 -0
  87. package/src/interfaces/avaliador-sintatico-interface.js +3 -0
  88. package/src/interfaces/avaliador-sintatico-interface.js.map +1 -0
  89. package/src/interfaces/index.js +19 -0
  90. package/src/interfaces/index.js.map +1 -0
  91. package/src/interfaces/interpretador-interface.js +3 -0
  92. package/src/interfaces/interpretador-interface.js.map +1 -0
  93. package/src/interfaces/lexador-interface.js +3 -0
  94. package/src/interfaces/lexador-interface.js.map +1 -0
  95. package/src/interfaces/pilha-interface.js +3 -0
  96. package/src/interfaces/pilha-interface.js.map +1 -0
  97. package/src/interfaces/resolvedor-interface.js +3 -0
  98. package/src/interfaces/resolvedor-interface.js.map +1 -0
  99. package/src/interfaces/simbolo-interface.js +3 -0
  100. package/src/interfaces/simbolo-interface.js.map +1 -0
  101. package/src/interpretador/dialetos/egua-classico.js +665 -0
  102. package/src/interpretador/dialetos/egua-classico.js.map +1 -0
  103. package/src/interpretador/dialetos/index.js +14 -0
  104. package/src/interpretador/dialetos/index.js.map +1 -0
  105. package/src/interpretador/index.js +665 -0
  106. package/src/interpretador/index.js.map +1 -0
  107. package/src/lexador/dialetos/egua-classico.js +287 -0
  108. package/src/lexador/dialetos/egua-classico.js.map +1 -0
  109. package/src/lexador/dialetos/index.js +14 -0
  110. package/src/lexador/dialetos/index.js.map +1 -0
  111. package/src/lexador/index.js +287 -0
  112. package/src/lexador/index.js.map +1 -0
  113. package/src/resolvedor/Pilha.js +27 -0
  114. package/src/resolvedor/Pilha.js.map +1 -0
  115. package/src/resolvedor/ResolverError.js +29 -0
  116. package/src/resolvedor/ResolverError.js.map +1 -0
  117. package/src/resolvedor/{index.ts → dialetos/egua-classico.js} +147 -228
  118. package/src/resolvedor/dialetos/egua-classico.js.map +1 -0
  119. package/src/resolvedor/dialetos/index.js +14 -0
  120. package/src/resolvedor/dialetos/index.js.map +1 -0
  121. package/src/resolvedor/{dialetos/egua-classico.ts → index.js} +147 -228
  122. package/src/resolvedor/index.js.map +1 -0
  123. package/src/{tiposDeSimbolos.ts → tiposDeSimbolos.js} +5 -2
  124. package/src/tiposDeSimbolos.js.map +1 -0
  125. package/src/web.js +66 -0
  126. package/src/web.js.map +1 -0
  127. package/.github/CONTRIBUTING.md +0 -37
  128. package/.github/workflows/principal.yml +0 -22
  129. package/.release-it.json +0 -9
  130. package/.vscode/launch.json +0 -64
  131. package/.vscode/settings.json +0 -3
  132. package/LICENSE +0 -21
  133. package/README.md +0 -66
  134. package/babel.config.js +0 -1
  135. package/index.ts +0 -29
  136. package/src/ambiente.ts +0 -56
  137. package/src/avaliador-sintatico/dialetos/egua-classico.ts +0 -983
  138. package/src/avaliador-sintatico/dialetos/index.ts +0 -1
  139. package/src/avaliador-sintatico/index.ts +0 -983
  140. package/src/avaliador-sintatico/parser-error.ts +0 -1
  141. package/src/bibliotecas/bibliotecaGlobal.ts +0 -171
  142. package/src/bibliotecas/importarBiblioteca.ts +0 -32
  143. package/src/construtos/assign-subscript.ts +0 -19
  144. package/src/construtos/atribuir.ts +0 -17
  145. package/src/construtos/binario.ts +0 -19
  146. package/src/construtos/call.ts +0 -19
  147. package/src/construtos/conjunto.ts +0 -19
  148. package/src/construtos/dicionario.ts +0 -17
  149. package/src/construtos/expr.ts +0 -3
  150. package/src/construtos/funcao.ts +0 -17
  151. package/src/construtos/get.ts +0 -17
  152. package/src/construtos/grouping.ts +0 -15
  153. package/src/construtos/index.ts +0 -18
  154. package/src/construtos/isto.ts +0 -15
  155. package/src/construtos/literal.ts +0 -15
  156. package/src/construtos/logical.ts +0 -19
  157. package/src/construtos/subscript.ts +0 -19
  158. package/src/construtos/super.ts +0 -17
  159. package/src/construtos/unario.ts +0 -17
  160. package/src/construtos/variavel.ts +0 -15
  161. package/src/construtos/vetor.ts +0 -15
  162. package/src/declaracoes/index.ts +0 -243
  163. package/src/delegua.ts +0 -156
  164. package/src/estruturas/callable.ts +0 -11
  165. package/src/estruturas/classe.ts +0 -47
  166. package/src/estruturas/funcao-padrao.ts +0 -22
  167. package/src/estruturas/funcao.ts +0 -70
  168. package/src/estruturas/index.ts +0 -6
  169. package/src/estruturas/instancia.ts +0 -30
  170. package/src/estruturas/modulo.ts +0 -11
  171. package/src/excecoes/break-exception.ts +0 -1
  172. package/src/excecoes/continue-exception.ts +0 -1
  173. package/src/excecoes/erro-em-tempo-de-execucao.ts +0 -11
  174. package/src/excecoes/index.ts +0 -4
  175. package/src/excecoes/return-exception.ts +0 -10
  176. package/src/interfaces/avaliador-sintatico-interface.ts +0 -58
  177. package/src/interfaces/index.ts +0 -6
  178. package/src/interfaces/interpretador-interface.ts +0 -52
  179. package/src/interfaces/lexador-interface.ts +0 -24
  180. package/src/interfaces/pilha-interface.ts +0 -7
  181. package/src/interfaces/resolvedor-interface.ts +0 -49
  182. package/src/interfaces/simbolo-interface.ts +0 -6
  183. package/src/interpretador/dialetos/egua-classico.ts +0 -825
  184. package/src/interpretador/dialetos/index.ts +0 -1
  185. package/src/interpretador/index.ts +0 -825
  186. package/src/lexador/dialetos/egua-classico.ts +0 -333
  187. package/src/lexador/dialetos/index.ts +0 -1
  188. package/src/lexador/index.ts +0 -333
  189. package/src/resolvedor/Pilha.ts +0 -29
  190. package/src/resolvedor/ResolverError.ts +0 -8
  191. package/src/resolvedor/dialetos/index.ts +0 -1
  192. package/src/web.ts +0 -75
  193. package/testes/testes.egua +0 -630
  194. package/tsconfig.json +0 -11
package/bin/delegua CHANGED
@@ -1,3 +1,3 @@
1
- #! /usr/bin/env ts-node
1
+ #! /usr/bin/env node
2
2
 
3
- require('../index');
3
+ require('../index.js');
package/bin/delegua.cmd CHANGED
@@ -1 +1 @@
1
- ts-node index.ts %*
1
+ node ..\index.js %*
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@designliquido/delegua",
3
+ "version": "0.1.0",
4
+ "description": "Linguagem de programação simples e moderna usando português",
5
+ "main": "indice.js",
6
+ "scripts": {
7
+ "empacotar": "rm -Rf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin",
8
+ "npm-publish": "npm publish --access public",
9
+ "testes": "./bin/delegua testes/testes.egua",
10
+ "testes-unitarios": "jest",
11
+ "release": "release-it"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/DesignLiquido/delegua.git"
16
+ },
17
+ "bin": {
18
+ "delegua": "./bin/delegua"
19
+ },
20
+ "keywords": [
21
+ "egua",
22
+ "delegua"
23
+ ],
24
+ "author": "Leonel Sanches da Silva",
25
+ "contributors": [
26
+ {
27
+ "name": "Leonel Sanches da Silva",
28
+ "url": "https://www.linkedin.com/in/leonelsanchesdasilva/"
29
+ },
30
+ {
31
+ "name": "Samuel Renan Gonçalves Vaz",
32
+ "url": "https://www.linkedin.com/in/samuel-renan-gon%C3%A7alves-vaz-b6b83a103/"
33
+ }
34
+ ],
35
+ "license": "MIT",
36
+ "bugs": {
37
+ "url": "https://github.com/DesignLiquido/delegua/issues"
38
+ },
39
+ "homepage": "https://github.com/DesignLiquido/delegua#readme",
40
+ "devDependencies": {
41
+ "@babel/preset-env": "^7.12.1",
42
+ "copyfiles": "^2.4.1",
43
+ "jest": "^26.6.1",
44
+ "release-it": "^14.11.8",
45
+ "ts-node": "^10.4.0",
46
+ "typescript": "^4.5.4"
47
+ },
48
+ "dependencies": {
49
+ "commander": "^8.3.0"
50
+ }
51
+ }
package/index.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var delegua_1 = require("./src/delegua");
4
+ var commander_1 = require("commander");
5
+ var principal = function () {
6
+ var analisadorArgumentos = new commander_1.Command();
7
+ var nomeArquivo;
8
+ analisadorArgumentos
9
+ .option("-d, --dialeto <dialeto>", "Dialeto a ser usado. Padrão: delegua", "delegua")
10
+ .argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
11
+ .action(function (arquivos) {
12
+ if (arquivos.length > 0) {
13
+ nomeArquivo = arquivos[0];
14
+ }
15
+ });
16
+ analisadorArgumentos.parse();
17
+ var opcoes = analisadorArgumentos.opts();
18
+ var delegua = new delegua_1.Delegua(opcoes.dialeto);
19
+ if (!nomeArquivo) {
20
+ delegua.iniciarDelegua();
21
+ }
22
+ else {
23
+ delegua.carregarArquivo(nomeArquivo);
24
+ }
25
+ };
26
+ principal();
27
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;AAAA,yCAAwC;AACxC,uCAAoC;AAEpC,IAAM,SAAS,GAAG;IAChB,IAAM,oBAAoB,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC3C,IAAI,WAAW,CAAC;IAEhB,oBAAoB;SACjB,MAAM,CAAC,yBAAyB,EAAE,sCAAsC,EAAG,SAAS,CAAC;SACrF,QAAQ,CAAC,eAAe,EAAE,+BAA+B,CAAC;SAC1D,MAAM,CAAC,UAAC,QAAQ;QACb,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC7B;IACL,CAAC,CAAC,CAAC;IAEL,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,IAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,CAAC,cAAc,EAAE,CAAC;KAC1B;SAAM;QACL,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KACtC;AACH,CAAC,CAAC;AAEF,SAAS,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Linguagem de programação simples e moderna usando português",
5
5
  "main": "indice.js",
6
6
  "scripts": {
7
- "empacotar": "tsc && copyfiles -V ./bin/* ./dist/bin/",
7
+ "empacotar": "rm -Rf ./dist && tsc && copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && copyfiles -V ./package.json ./dist/bin",
8
8
  "npm-publish": "npm publish --access public",
9
9
  "testes": "./bin/delegua testes/testes.egua",
10
10
  "testes-unitarios": "jest",
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Ambiente = void 0;
4
+ var excecoes_1 = require("./excecoes");
5
+ var Ambiente = /** @class */ (function () {
6
+ function Ambiente(enclosing) {
7
+ this.enclosing = enclosing || null;
8
+ this.valores = {};
9
+ }
10
+ Ambiente.prototype.definirVariavel = function (nomeVariavel, valor) {
11
+ this.valores[nomeVariavel] = valor;
12
+ };
13
+ Ambiente.prototype.atribuirVariavelEm = function (distancia, nome, valor) {
14
+ this.ancestor(distancia).valores[nome.lexema] = valor;
15
+ };
16
+ Ambiente.prototype.atribuirVariavel = function (nome, valor) {
17
+ if (this.valores[nome.lexema] !== undefined) {
18
+ this.valores[nome.lexema] = valor;
19
+ return;
20
+ }
21
+ if (this.enclosing != null) {
22
+ this.enclosing.atribuirVariavel(nome, valor);
23
+ return;
24
+ }
25
+ throw new excecoes_1.ErroEmTempoDeExecucao(nome, "Variável não definida '" + nome.lexema + "'.");
26
+ };
27
+ Ambiente.prototype.ancestor = function (distancia) {
28
+ var ambiente = this;
29
+ for (var i = 0; i < distancia; i++) {
30
+ ambiente = ambiente.enclosing;
31
+ }
32
+ return ambiente;
33
+ };
34
+ Ambiente.prototype.obterVariavelEm = function (distancia, nome) {
35
+ return this.ancestor(distancia).valores[nome];
36
+ };
37
+ Ambiente.prototype.obterVariavel = function (simbolo) {
38
+ if (this.valores[simbolo.lexema] !== undefined) {
39
+ return this.valores[simbolo.lexema];
40
+ }
41
+ if (this.enclosing !== null)
42
+ return this.enclosing.obterVariavel(simbolo);
43
+ throw new excecoes_1.ErroEmTempoDeExecucao(simbolo, "Variável não definida '" + simbolo.lexema + "'.");
44
+ };
45
+ return Ambiente;
46
+ }());
47
+ exports.Ambiente = Ambiente;
48
+ ;
49
+ //# sourceMappingURL=ambiente.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambiente.js","sourceRoot":"","sources":["../../src/ambiente.ts"],"names":[],"mappings":";;;AAAA,uCAAmD;AAEnD;IAII,kBAAY,SAAe;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,kCAAe,GAAf,UAAgB,YAAiB,EAAE,KAAU;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,qCAAkB,GAAlB,UAAmB,SAAc,EAAE,IAAS,EAAE,KAAU;QACpD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IAC1D,CAAC;IAED,mCAAgB,GAAhB,UAAiB,IAAS,EAAE,KAAU;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAClC,OAAO;SACV;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO;SACV;QAED,MAAM,IAAI,gCAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1F,CAAC;IAED,2BAAQ,GAAR,UAAS,SAAc;QACnB,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAChC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC;SACjC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,kCAAe,GAAf,UAAgB,SAAc,EAAE,IAAS;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,gCAAa,GAAb,UAAc,OAAY;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACvC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE1E,MAAM,IAAI,gCAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChG,CAAC;IACL,eAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,4BAAQ;AAqDpB,CAAC"}