@designliquido/delegua 0.1.0 → 0.1.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 (193) 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 +4 -4
  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 +129 -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 +656 -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/babel.config.js +0 -1
  134. package/index.ts +0 -29
  135. package/src/ambiente.ts +0 -56
  136. package/src/avaliador-sintatico/dialetos/egua-classico.ts +0 -983
  137. package/src/avaliador-sintatico/dialetos/index.ts +0 -1
  138. package/src/avaliador-sintatico/index.ts +0 -983
  139. package/src/avaliador-sintatico/parser-error.ts +0 -1
  140. package/src/bibliotecas/bibliotecaGlobal.ts +0 -171
  141. package/src/bibliotecas/importarBiblioteca.ts +0 -32
  142. package/src/construtos/assign-subscript.ts +0 -19
  143. package/src/construtos/atribuir.ts +0 -17
  144. package/src/construtos/binario.ts +0 -19
  145. package/src/construtos/call.ts +0 -19
  146. package/src/construtos/conjunto.ts +0 -19
  147. package/src/construtos/dicionario.ts +0 -17
  148. package/src/construtos/expr.ts +0 -3
  149. package/src/construtos/funcao.ts +0 -17
  150. package/src/construtos/get.ts +0 -17
  151. package/src/construtos/grouping.ts +0 -15
  152. package/src/construtos/index.ts +0 -18
  153. package/src/construtos/isto.ts +0 -15
  154. package/src/construtos/literal.ts +0 -15
  155. package/src/construtos/logical.ts +0 -19
  156. package/src/construtos/subscript.ts +0 -19
  157. package/src/construtos/super.ts +0 -17
  158. package/src/construtos/unario.ts +0 -17
  159. package/src/construtos/variavel.ts +0 -15
  160. package/src/construtos/vetor.ts +0 -15
  161. package/src/declaracoes/index.ts +0 -243
  162. package/src/delegua.ts +0 -156
  163. package/src/estruturas/callable.ts +0 -11
  164. package/src/estruturas/classe.ts +0 -47
  165. package/src/estruturas/funcao-padrao.ts +0 -22
  166. package/src/estruturas/funcao.ts +0 -70
  167. package/src/estruturas/index.ts +0 -6
  168. package/src/estruturas/instancia.ts +0 -30
  169. package/src/estruturas/modulo.ts +0 -11
  170. package/src/excecoes/break-exception.ts +0 -1
  171. package/src/excecoes/continue-exception.ts +0 -1
  172. package/src/excecoes/erro-em-tempo-de-execucao.ts +0 -11
  173. package/src/excecoes/index.ts +0 -4
  174. package/src/excecoes/return-exception.ts +0 -10
  175. package/src/interfaces/avaliador-sintatico-interface.ts +0 -58
  176. package/src/interfaces/index.ts +0 -6
  177. package/src/interfaces/interpretador-interface.ts +0 -52
  178. package/src/interfaces/lexador-interface.ts +0 -24
  179. package/src/interfaces/pilha-interface.ts +0 -7
  180. package/src/interfaces/resolvedor-interface.ts +0 -49
  181. package/src/interfaces/simbolo-interface.ts +0 -6
  182. package/src/interpretador/dialetos/egua-classico.ts +0 -825
  183. package/src/interpretador/dialetos/index.ts +0 -1
  184. package/src/interpretador/index.ts +0 -825
  185. package/src/lexador/dialetos/egua-classico.ts +0 -333
  186. package/src/lexador/dialetos/index.ts +0 -1
  187. package/src/lexador/index.ts +0 -333
  188. package/src/resolvedor/Pilha.ts +0 -29
  189. package/src/resolvedor/ResolverError.ts +0 -8
  190. package/src/resolvedor/dialetos/index.ts +0 -1
  191. package/src/web.ts +0 -75
  192. package/testes/testes.egua +0 -630
  193. package/tsconfig.json +0 -11
@@ -1 +0,0 @@
1
- export class ErroAvaliador extends Error {}
@@ -1,171 +0,0 @@
1
- import { ErroEmTempoDeExecucao } from "../excecoes";
2
- import { DeleguaFuncao } from "../estruturas/funcao";
3
- import { DeleguaInstancia } from "../estruturas/instancia";
4
- import { FuncaoPadrao } from "../estruturas/funcao-padrao";
5
- import { DeleguaClasse } from "../estruturas/classe";
6
-
7
-
8
- export default function (interpretador: any, global: any) {
9
- // Retorna um número aleatório entre 0 e 1.
10
- global.definirVariavel(
11
- "aleatorio",
12
- new FuncaoPadrao(1, function () {
13
- return Math.random();
14
- })
15
- );
16
-
17
- // Retorna um número aleatório de acordo com o parâmetro passado.
18
- // Mínimo(inclusivo) - Máximo(exclusivo)
19
- global.definirVariavel(
20
- "aleatorioEntre",
21
- new FuncaoPadrao(1, function (minimo: number, maximo: number) {
22
- if (typeof minimo !== 'number' || typeof maximo !== 'number') {
23
- throw new ErroEmTempoDeExecucao(
24
- this.simbolo,
25
- "Os dois parâmetros devem ser do tipo número."
26
- );
27
- }
28
-
29
- return Math.floor(Math.random() * (maximo - minimo)) + minimo;
30
- })
31
- );
32
-
33
- global.definirVariavel(
34
- "inteiro",
35
- new FuncaoPadrao(1, function (valor: any) {
36
- if (!valor) {
37
- throw new ErroEmTempoDeExecucao(
38
- this.simbolo,
39
- "Somente números podem passar para inteiro."
40
- );
41
- }
42
-
43
- if (!/^-{0,1}\d+$/.test(valor) && !/^\d+\.\d+$/.test(valor)) {
44
- throw new ErroEmTempoDeExecucao(
45
- this.simbolo,
46
- "Somente números podem passar para inteiro."
47
- );
48
- }
49
-
50
- return parseInt(valor);
51
- })
52
- );
53
-
54
- global.definirVariavel(
55
- "mapear",
56
- new FuncaoPadrao(1, function (array: any, callback: any) {
57
- if (!Array.isArray(array)) {
58
- throw new ErroEmTempoDeExecucao(
59
- this.simbolo,
60
- "Parâmetro inválido. O primeiro parâmetro da função, deve ser um array."
61
- );
62
- }
63
-
64
- if (callback.constructor.nome !== 'DeleguaFuncao') {
65
- throw new ErroEmTempoDeExecucao(
66
- this.simbolo,
67
- "Parâmetro inválido. O segundo parâmetro da função, deve ser uma função."
68
- );
69
- }
70
-
71
- let provisorio = [];
72
- for (let indice = 0; indice < array.length; ++indice) {
73
- provisorio.push(
74
- callback.call(
75
- interpretador, [array[indice]]
76
- )
77
- );
78
- }
79
-
80
- return provisorio;
81
- })
82
- );
83
-
84
- global.definirVariavel(
85
- "ordenar",
86
- new FuncaoPadrao(1, function (objeto: Array<any>) {
87
- if (!Array.isArray(objeto)) {
88
- throw new ErroEmTempoDeExecucao(
89
- this.simbolo,
90
- "Valor Inválido. Objeto inserido não é um vetor."
91
- );
92
- }
93
-
94
- let trocado;
95
- let tamanho = objeto.length;
96
- do {
97
- trocado = false;
98
- for (var i = 0; i < tamanho - 1; i++) {
99
- if (objeto[i] > objeto[i + 1]) {
100
- [objeto[i], objeto[i + 1]] = [objeto[i + 1], objeto[i]];
101
- trocado = true;
102
- }
103
- }
104
- } while (trocado);
105
- return objeto;
106
- })
107
- );
108
-
109
- global.definirVariavel(
110
- "real",
111
- new FuncaoPadrao(1, function (valor: any) {
112
- if (!/^-{0,1}\d+$/.test(valor) && !/^\d+\.\d+$/.test(valor))
113
- throw new ErroEmTempoDeExecucao(
114
- this.simbolo,
115
- "Somente números podem passar para real."
116
- );
117
- return parseFloat(valor);
118
- })
119
- );
120
-
121
- global.definirVariavel(
122
- "tamanho",
123
- new FuncaoPadrao(1, function (objeto: any) {
124
- if (!isNaN(objeto)) {
125
- throw new ErroEmTempoDeExecucao(
126
- this.simbolo,
127
- "Não é possível encontrar o tamanho de um número."
128
- );
129
- }
130
-
131
- if (objeto instanceof DeleguaInstancia) {
132
- throw new ErroEmTempoDeExecucao(
133
- this.simbolo,
134
- "Você não pode encontrar o tamanho de uma declaração."
135
- );
136
- }
137
-
138
- if (objeto instanceof DeleguaFuncao) {
139
- return objeto.declaracao.parametros.length;
140
- }
141
-
142
- if (objeto instanceof FuncaoPadrao) {
143
- return objeto.valorAridade;
144
- }
145
-
146
- if (objeto instanceof DeleguaClasse) {
147
- let metodos = objeto.metodos;
148
- let tamanho = 0;
149
-
150
- if (metodos.init && metodos.init.eInicializador) {
151
- tamanho = metodos.init.declaracao.parametros.length;
152
- }
153
-
154
- return tamanho;
155
- }
156
-
157
- return objeto.length;
158
- })
159
- );
160
-
161
- global.definirVariavel(
162
- "texto",
163
- new FuncaoPadrao(1, function (valor: any) {
164
- return `${valor}`;
165
- })
166
- );
167
-
168
- global.definirVariavel("exports", {});
169
-
170
- return global;
171
- };
@@ -1,32 +0,0 @@
1
- import { ErroEmTempoDeExecucao } from "../excecoes";
2
- import { FuncaoPadrao } from "../estruturas/funcao-padrao";
3
- import { DeleguaModulo } from "../estruturas/modulo";
4
-
5
- const carregarModulo = function (nomeDoModulo: any, caminhoDoModulo: any) {
6
- let dadosDoModulo: any;
7
-
8
- try {
9
- dadosDoModulo = require(caminhoDoModulo);
10
- } catch (erro) {
11
- throw new ErroEmTempoDeExecucao(nomeDoModulo, `Biblioteca ${nomeDoModulo} não encontrada para importação.`);
12
- }
13
-
14
- let novoModulo = new DeleguaModulo(nomeDoModulo);
15
-
16
- let chaves = Object.keys(dadosDoModulo);
17
- for (let i = 0; i < chaves.length; i++) {
18
- const moduloAtual = dadosDoModulo[chaves[i]];
19
-
20
- if (typeof moduloAtual === "function") {
21
- novoModulo[chaves[i]] = new FuncaoPadrao(moduloAtual.length, moduloAtual);
22
- } else {
23
- novoModulo[chaves[i]] = moduloAtual;
24
- }
25
- }
26
-
27
- return novoModulo;
28
- };
29
-
30
- export default function (nome: any) {
31
- return carregarModulo(nome, nome);
32
- };
@@ -1,19 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class AssignSubscript extends Expr {
5
- objeto: any;
6
- valor: any;
7
- indice: any;
8
-
9
- constructor(objeto: any, indice: any, valor: any) {
10
- super();
11
- this.objeto = objeto;
12
- this.indice = indice;
13
- this.valor = valor;
14
- }
15
-
16
- aceitar(visitor: any) {
17
- return visitor.visitAssignsubscriptExpr(this);
18
- }
19
- }
@@ -1,17 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Atribuir extends Expr {
5
- nome: any;
6
- valor: any;
7
-
8
- constructor(nome: any, valor: any) {
9
- super();
10
- this.nome = nome;
11
- this.valor = valor;
12
- }
13
-
14
- aceitar(visitor: any) {
15
- return visitor.visitAssignExpr(this);
16
- }
17
- }
@@ -1,19 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Binario extends Expr {
5
- esquerda: any;
6
- operador: any;
7
- direita: any;
8
-
9
- constructor(esquerda: any, operador: any, direita: any) {
10
- super();
11
- this.esquerda = esquerda;
12
- this.operador = operador;
13
- this.direita = direita;
14
- }
15
-
16
- aceitar(visitor: any) {
17
- return visitor.visitBinaryExpr(this);
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Call extends Expr {
5
- callee: any;
6
- argumentos: any;
7
- parentese: any;
8
-
9
- constructor(callee: any, parentese: any, argumentos: any) {
10
- super();
11
- this.callee = callee;
12
- this.parentese = parentese;
13
- this.argumentos = argumentos;
14
- }
15
-
16
- aceitar(visitor: any) {
17
- return visitor.visitCallExpr(this);
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Conjunto extends Expr {
5
- objeto: any;
6
- nome: any;
7
- valor: any;
8
-
9
- constructor(objeto: any, nome: any, valor: any) {
10
- super();
11
- this.objeto = objeto;
12
- this.nome = nome;
13
- this.valor = valor;
14
- }
15
-
16
- aceitar(visitor: any) {
17
- return visitor.visitSetExpr(this);
18
- }
19
- }
@@ -1,17 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Dicionario extends Expr {
5
- chaves: any;
6
- valores: any;
7
-
8
- constructor(chaves: any, valores: any) {
9
- super();
10
- this.chaves = chaves;
11
- this.valores = valores;
12
- }
13
-
14
- aceitar(visitor: any) {
15
- return visitor.visitDictionaryExpr(this);
16
- }
17
- }
@@ -1,3 +0,0 @@
1
- export class Expr {
2
- aceitar(visitor: any) { }
3
- }
@@ -1,17 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Funcao extends Expr {
5
- parametros: any;
6
- corpo: any;
7
-
8
- constructor(parametros: any, corpo: any) {
9
- super();
10
- this.parametros = parametros;
11
- this.corpo = corpo;
12
- }
13
-
14
- aceitar(visitor: any) {
15
- return visitor.visitFunctionExpr(this);
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Get extends Expr {
5
- objeto: any;
6
- nome: any;
7
-
8
- constructor(objeto: any, nome: any) {
9
- super();
10
- this.objeto = objeto;
11
- this.nome = nome;
12
- }
13
-
14
- aceitar(visitor: any) {
15
- return visitor.visitGetExpr(this);
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Grouping extends Expr {
5
- expressao: any;
6
-
7
- constructor(expressao: any) {
8
- super();
9
- this.expressao = expressao;
10
- }
11
-
12
- aceitar(visitor: any) {
13
- return visitor.visitGroupingExpr(this);
14
- }
15
- }
@@ -1,18 +0,0 @@
1
- export * from "./assign-subscript";
2
- export * from "./atribuir";
3
- export * from "./binario";
4
- export * from "./call";
5
- export * from "./conjunto";
6
- export * from "./dicionario";
7
- export * from "./expr";
8
- export * from "./funcao";
9
- export * from "./get";
10
- export * from "./grouping";
11
- export * from "./isto";
12
- export * from "./literal";
13
- export * from "./logical";
14
- export * from "./subscript";
15
- export * from "./super";
16
- export * from "./unario";
17
- export * from "./variavel";
18
- export * from "./vetor";
@@ -1,15 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Isto extends Expr {
5
- palavraChave: any;
6
-
7
- constructor(palavraChave?: any) {
8
- super();
9
- this.palavraChave = palavraChave;
10
- }
11
-
12
- aceitar(visitor: any) {
13
- return visitor.visitThisExpr(this);
14
- }
15
- }
@@ -1,15 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Literal extends Expr {
5
- valor: any;
6
-
7
- constructor(valor: any) {
8
- super();
9
- this.valor = valor;
10
- }
11
-
12
- aceitar(visitor: any) {
13
- return visitor.visitLiteralExpr(this);
14
- }
15
- }
@@ -1,19 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Logical extends Expr {
5
- esquerda: any;
6
- operador: any;
7
- direita: any;
8
-
9
- constructor(esquerda: any, operador: any, direita: any) {
10
- super();
11
- this.esquerda = esquerda;
12
- this.operador = operador;
13
- this.direita = direita;
14
- }
15
-
16
- aceitar(visitor: any) {
17
- return visitor.visitLogicalExpr(this);
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Subscript extends Expr {
5
- callee: any;
6
- closeBracket: any;
7
- indice: any;
8
-
9
- constructor(callee: any, indice: any, closeBracket: any) {
10
- super();
11
- this.callee = callee;
12
- this.indice = indice;
13
- this.closeBracket = closeBracket;
14
- }
15
-
16
- aceitar(visitor: any) {
17
- return visitor.visitSubscriptExpr(this);
18
- }
19
- }
@@ -1,17 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Super extends Expr {
5
- palavraChave: any;
6
- metodo: any;
7
-
8
- constructor(palavraChave: any, metodo: any) {
9
- super();
10
- this.palavraChave = palavraChave;
11
- this.metodo = metodo;
12
- }
13
-
14
- aceitar(visitor: any) {
15
- return visitor.visitSuperExpr(this);
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Unario extends Expr {
5
- operador: any;
6
- direita: any;
7
-
8
- constructor(operador: any, direita: any) {
9
- super();
10
- this.operador = operador;
11
- this.direita = direita;
12
- }
13
-
14
- aceitar(visitor: any) {
15
- return visitor.visitUnaryExpr(this);
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Variavel extends Expr {
5
- nome: any;
6
-
7
- constructor(nome: any) {
8
- super();
9
- this.nome = nome;
10
- }
11
-
12
- aceitar(visitor: any) {
13
- return visitor.visitVariableExpr(this);
14
- }
15
- }
@@ -1,15 +0,0 @@
1
- import { Expr } from "./expr";
2
-
3
-
4
- export class Vetor extends Expr {
5
- valores: any;
6
-
7
- constructor(valores: any) {
8
- super();
9
- this.valores = valores;
10
- }
11
-
12
- aceitar(visitor: any) {
13
- return visitor.visitArrayExpr(this);
14
- }
15
- }