@designliquido/foles 0.6.2 → 0.7.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.
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +535 -25
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/lexador/palavras-reservadas/foles.d.ts +276 -238
- package/fontes/lexador/palavras-reservadas/foles.js +279 -238
- package/fontes/lexador/palavras-reservadas/foles.js.map +1 -1
- package/fontes/modificadores/atributos/posicoes.d.ts +3 -0
- package/fontes/modificadores/atributos/posicoes.js +23 -13
- package/fontes/modificadores/atributos/posicoes.js.map +1 -1
- package/fontes/modificadores/deslocamento.js +5 -3
- package/fontes/modificadores/deslocamento.js.map +1 -1
- package/fontes/modificadores/filtro-fundo.js +1 -2
- package/fontes/modificadores/filtro-fundo.js.map +1 -1
- package/fontes/modificadores/filtro.js +1 -6
- package/fontes/modificadores/filtro.js.map +1 -1
- package/fontes/modificadores/trajeto-deslocamento.js +2 -2
- package/fontes/modificadores/trajeto-deslocamento.js.map +1 -1
- package/fontes/modificadores/transformar.js +2 -1
- package/fontes/modificadores/transformar.js.map +1 -1
- package/fontes/modificadores/validacoes/quantificador.js +2 -1
- package/fontes/modificadores/validacoes/quantificador.js.map +1 -1
- package/fontes/valores/dicionario-valores.js +63 -1
- package/fontes/valores/dicionario-valores.js.map +1 -1
- package/fontes/valores/metodos/borrar.d.ts +9 -0
- package/fontes/valores/metodos/borrar.js +20 -0
- package/fontes/valores/metodos/borrar.js.map +1 -0
- package/fontes/valores/metodos/brilho.d.ts +9 -0
- package/fontes/valores/metodos/brilho.js +20 -0
- package/fontes/valores/metodos/brilho.js.map +1 -0
- package/fontes/valores/metodos/escala-cinza.d.ts +9 -0
- package/fontes/valores/metodos/escala-cinza.js +20 -0
- package/fontes/valores/metodos/escala-cinza.js.map +1 -0
- package/fontes/valores/metodos/escalamento-3d.d.ts +10 -0
- package/fontes/valores/metodos/escalamento-3d.js +18 -0
- package/fontes/valores/metodos/escalamento-3d.js.map +1 -0
- package/fontes/valores/metodos/escalamento-eixo-z.d.ts +8 -0
- package/fontes/valores/metodos/escalamento-eixo-z.js +16 -0
- package/fontes/valores/metodos/escalamento-eixo-z.js.map +1 -0
- package/fontes/valores/metodos/escalamento-horizontal.d.ts +8 -0
- package/fontes/valores/metodos/escalamento-horizontal.js +16 -0
- package/fontes/valores/metodos/escalamento-horizontal.js.map +1 -0
- package/fontes/valores/metodos/escalamento-vertical.d.ts +8 -0
- package/fontes/valores/metodos/escalamento-vertical.js +16 -0
- package/fontes/valores/metodos/escalamento-vertical.js.map +1 -0
- package/fontes/valores/metodos/escalamento.d.ts +9 -0
- package/fontes/valores/metodos/escalamento.js +20 -0
- package/fontes/valores/metodos/escalamento.js.map +1 -0
- package/fontes/valores/metodos/inclinar-horizontal.d.ts +9 -0
- package/fontes/valores/metodos/inclinar-horizontal.js +20 -0
- package/fontes/valores/metodos/inclinar-horizontal.js.map +1 -0
- package/fontes/valores/metodos/inclinar-vertical.d.ts +9 -0
- package/fontes/valores/metodos/inclinar-vertical.js +20 -0
- package/fontes/valores/metodos/inclinar-vertical.js.map +1 -0
- package/fontes/valores/metodos/inclinar.d.ts +11 -0
- package/fontes/valores/metodos/inclinar.js +25 -0
- package/fontes/valores/metodos/inclinar.js.map +1 -0
- package/fontes/valores/metodos/inverter.d.ts +9 -0
- package/fontes/valores/metodos/inverter.js +20 -0
- package/fontes/valores/metodos/inverter.js.map +1 -0
- package/fontes/valores/metodos/opacar.d.ts +9 -0
- package/fontes/valores/metodos/opacar.js +20 -0
- package/fontes/valores/metodos/opacar.js.map +1 -0
- package/fontes/valores/metodos/perspectivar.d.ts +9 -0
- package/fontes/valores/metodos/perspectivar.js +20 -0
- package/fontes/valores/metodos/perspectivar.js.map +1 -0
- package/fontes/valores/metodos/projetar-sombra.d.ts +14 -0
- package/fontes/valores/metodos/projetar-sombra.js +43 -0
- package/fontes/valores/metodos/projetar-sombra.js.map +1 -0
- package/fontes/valores/metodos/raio.d.ts +10 -0
- package/fontes/valores/metodos/raio.js +23 -0
- package/fontes/valores/metodos/raio.js.map +1 -0
- package/fontes/valores/metodos/rotacionar-eixo-z.d.ts +9 -0
- package/fontes/valores/metodos/rotacionar-eixo-z.js +20 -0
- package/fontes/valores/metodos/rotacionar-eixo-z.js.map +1 -0
- package/fontes/valores/metodos/rotacionar-horizontal.d.ts +9 -0
- package/fontes/valores/metodos/rotacionar-horizontal.js +20 -0
- package/fontes/valores/metodos/rotacionar-horizontal.js.map +1 -0
- package/fontes/valores/metodos/rotacionar-matiz.d.ts +9 -0
- package/fontes/valores/metodos/rotacionar-matiz.js +20 -0
- package/fontes/valores/metodos/rotacionar-matiz.js.map +1 -0
- package/fontes/valores/metodos/rotacionar-vertical.d.ts +9 -0
- package/fontes/valores/metodos/rotacionar-vertical.js +20 -0
- package/fontes/valores/metodos/rotacionar-vertical.js.map +1 -0
- package/fontes/valores/metodos/rotacionar.d.ts +9 -0
- package/fontes/valores/metodos/rotacionar.js +20 -0
- package/fontes/valores/metodos/rotacionar.js.map +1 -0
- package/fontes/valores/metodos/saturar.d.ts +9 -0
- package/fontes/valores/metodos/saturar.js +20 -0
- package/fontes/valores/metodos/saturar.js.map +1 -0
- package/fontes/valores/metodos/sepia.d.ts +9 -0
- package/fontes/valores/metodos/sepia.js +20 -0
- package/fontes/valores/metodos/sepia.js.map +1 -0
- package/fontes/valores/metodos/translacao-3d.d.ts +13 -0
- package/fontes/valores/metodos/translacao-3d.js +42 -0
- package/fontes/valores/metodos/translacao-3d.js.map +1 -0
- package/fontes/valores/metodos/translacao-eixo-z.d.ts +9 -0
- package/fontes/valores/metodos/translacao-eixo-z.js +20 -0
- package/fontes/valores/metodos/translacao-eixo-z.js.map +1 -0
- package/fontes/valores/metodos/translacao-horizontal.d.ts +9 -0
- package/fontes/valores/metodos/translacao-horizontal.js +20 -0
- package/fontes/valores/metodos/translacao-horizontal.js.map +1 -0
- package/fontes/valores/metodos/translacao-vertical.d.ts +9 -0
- package/fontes/valores/metodos/translacao-vertical.js +20 -0
- package/fontes/valores/metodos/translacao-vertical.js.map +1 -0
- package/fontes/valores/metodos/translacao.d.ts +11 -0
- package/fontes/valores/metodos/translacao.js +25 -0
- package/fontes/valores/metodos/translacao.js.map +1 -0
- package/package.json +3 -2
- package/testes/listas/metodos.d.ts +15 -0
- package/testes/listas/metodos.js +65 -15
- package/testes/listas/metodos.js.map +1 -1
- package/testes/modificadores/metodos.test.js +1581 -115
- package/testes/modificadores/metodos.test.js.map +1 -1
|
@@ -50,6 +50,30 @@ class AvaliadorSintatico {
|
|
|
50
50
|
case "#":
|
|
51
51
|
const codigoHEX = this.consumir(foles_1.default.IDENTIFICADOR, "Esperado código HEX válido após #'.");
|
|
52
52
|
return new seletor_valor_1.SeletorValor('hex', [codigoHEX.lexema]);
|
|
53
|
+
case "borrar":
|
|
54
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'borrar'.");
|
|
55
|
+
const valorBorrar = this.avancarEDevolverAnterior();
|
|
56
|
+
let quantificadorBorrar;
|
|
57
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
58
|
+
quantificadorBorrar = this.avancarEDevolverAnterior();
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
quantificadorBorrar = null;
|
|
62
|
+
}
|
|
63
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'borrar'.");
|
|
64
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorBorrar, quantificadorBorrar]);
|
|
65
|
+
case "brilho":
|
|
66
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'brilho'.");
|
|
67
|
+
const valorBrilho = this.avancarEDevolverAnterior();
|
|
68
|
+
let quantificadorBrilho;
|
|
69
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
70
|
+
quantificadorBrilho = this.avancarEDevolverAnterior();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
quantificadorBrilho = null;
|
|
74
|
+
}
|
|
75
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'brilho'.");
|
|
76
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorBrilho, quantificadorBrilho]);
|
|
53
77
|
case "calcular":
|
|
54
78
|
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'calcular'.");
|
|
55
79
|
const valorCalc1 = this.avancarEDevolverAnterior();
|
|
@@ -71,23 +95,86 @@ class AvaliadorSintatico {
|
|
|
71
95
|
}
|
|
72
96
|
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'contraste'.");
|
|
73
97
|
return new seletor_valor_1.SeletorValor(lexema, [valorContraste, quantificadorContraste]);
|
|
74
|
-
case "curva-cúbica"
|
|
75
|
-
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método '
|
|
98
|
+
case "curva-cúbica":
|
|
99
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'curva-cúbica'.");
|
|
76
100
|
const parametro1 = this.avancarEDevolverAnterior();
|
|
77
|
-
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método
|
|
101
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método curva-cúbica.");
|
|
78
102
|
const parametro2 = this.avancarEDevolverAnterior();
|
|
79
|
-
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método
|
|
103
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método curva-cúbica.");
|
|
80
104
|
const parametro3 = this.avancarEDevolverAnterior();
|
|
81
|
-
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após terceiro argumento do método
|
|
105
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após terceiro argumento do método curva-cúbica.");
|
|
82
106
|
const parametro4 = this.avancarEDevolverAnterior();
|
|
83
|
-
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após quarto argumento do método
|
|
107
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após quarto argumento do método curva-cúbica.");
|
|
84
108
|
return new seletor_valor_1.SeletorValor(lexema, [parametro1, parametro2, parametro3, parametro4]);
|
|
85
|
-
case "
|
|
109
|
+
case "curva-cubica":
|
|
110
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'curva-cúbica'.");
|
|
111
|
+
const parametro1cc = this.avancarEDevolverAnterior();
|
|
112
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método curva-cúbica.");
|
|
113
|
+
const parametro2cc = this.avancarEDevolverAnterior();
|
|
114
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método curva-cúbica.");
|
|
115
|
+
const parametro3cc = this.avancarEDevolverAnterior();
|
|
116
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após terceiro argumento do método curva-cúbica.");
|
|
117
|
+
const parametro4cc = this.avancarEDevolverAnterior();
|
|
118
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após quarto argumento do método curva-cúbica.");
|
|
119
|
+
return new seletor_valor_1.SeletorValor(lexema, [parametro1cc, parametro2cc, parametro3cc, parametro4cc]);
|
|
120
|
+
case "encaixar-conteudo":
|
|
86
121
|
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'encaixar-conteúdo'.");
|
|
87
122
|
const valorFit = this.avancarEDevolverAnterior();
|
|
88
123
|
const quantificadorFit = this.avancarEDevolverAnterior();
|
|
89
124
|
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método encaixar-conteúdo.");
|
|
90
125
|
return new seletor_valor_1.SeletorValor(lexema, [valorFit['lexema'], quantificadorFit['lexema']]);
|
|
126
|
+
case "encaixar-conteúdo":
|
|
127
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'encaixar-conteúdo'.");
|
|
128
|
+
const valorFit1 = this.avancarEDevolverAnterior();
|
|
129
|
+
const quantificadorFit1 = this.avancarEDevolverAnterior();
|
|
130
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método encaixar-conteúdo.");
|
|
131
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorFit1['lexema'], quantificadorFit1['lexema']]);
|
|
132
|
+
case "escala-cinza":
|
|
133
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'escala-cinza'.");
|
|
134
|
+
const valorEscala = this.avancarEDevolverAnterior();
|
|
135
|
+
let quantificadorEscala;
|
|
136
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
137
|
+
quantificadorEscala = this.avancarEDevolverAnterior();
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
quantificadorEscala = null;
|
|
141
|
+
}
|
|
142
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'escala-cinza'.");
|
|
143
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorEscala, quantificadorEscala]);
|
|
144
|
+
case "escalamento":
|
|
145
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'escalamento'.");
|
|
146
|
+
const valorScale1 = this.avancarEDevolverAnterior();
|
|
147
|
+
let valorScale2;
|
|
148
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
149
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método escalamento.");
|
|
150
|
+
valorScale2 = this.avancarEDevolverAnterior();
|
|
151
|
+
}
|
|
152
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método escalamento.");
|
|
153
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorScale1, valorScale2]);
|
|
154
|
+
case "escalamento-3d":
|
|
155
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'escalamento-3d'.");
|
|
156
|
+
const valorScale3d1 = this.avancarEDevolverAnterior();
|
|
157
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método escalamento-3d.");
|
|
158
|
+
const valorScale3d2 = this.avancarEDevolverAnterior();
|
|
159
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após segundo argumento do método escalamento-3d.");
|
|
160
|
+
const valorScale3d3 = this.avancarEDevolverAnterior();
|
|
161
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método escalamento-3d.");
|
|
162
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorScale3d1, valorScale3d2, valorScale3d3]);
|
|
163
|
+
case "escalamento-eixo-z":
|
|
164
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'escalamento-eixo-z'.");
|
|
165
|
+
const valorScaleZ = this.avancarEDevolverAnterior();
|
|
166
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método escalamento-eixo-z.");
|
|
167
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorScaleZ]);
|
|
168
|
+
case "escalamento-horizontal":
|
|
169
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'escalamento-horizontal'.");
|
|
170
|
+
const valorScaleX = this.avancarEDevolverAnterior();
|
|
171
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método escalamento-horizontal.");
|
|
172
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorScaleX]);
|
|
173
|
+
case "escalamento-vertical":
|
|
174
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'escalamento-vertical'.");
|
|
175
|
+
const valorScaleY = this.avancarEDevolverAnterior();
|
|
176
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método escalamento-vertical.");
|
|
177
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorScaleY]);
|
|
91
178
|
case "gradiente-linear":
|
|
92
179
|
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'gradiente-linear'.");
|
|
93
180
|
const valorAngulo = this.avancarEDevolverAnterior();
|
|
@@ -161,24 +248,65 @@ class AvaliadorSintatico {
|
|
|
161
248
|
this.consumir(foles_1.default.QUANTIFICADOR, "Esperado símbolo percentual após argumento de luminosidade (L) no método 'hsla'.");
|
|
162
249
|
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumentos de método 'hsla'.");
|
|
163
250
|
return new seletor_valor_1.SeletorValor(lexema, [HdeHSLA, SdeHSLA, LdeHSLA]);
|
|
164
|
-
case "
|
|
165
|
-
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método '
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
this.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
251
|
+
case "inclinar":
|
|
252
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'inclinar'.");
|
|
253
|
+
const valorInclinar1 = this.avancarEDevolverAnterior();
|
|
254
|
+
let quantificadorInclinar1;
|
|
255
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
256
|
+
quantificadorInclinar1 = this.avancarEDevolverAnterior();
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
quantificadorInclinar1 = null;
|
|
260
|
+
}
|
|
261
|
+
let valorInclinar2;
|
|
262
|
+
let quantificadorInclinar2;
|
|
263
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
264
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'inclinar'.");
|
|
265
|
+
valorInclinar2 = this.avancarEDevolverAnterior();
|
|
266
|
+
quantificadorInclinar2 = this.avancarEDevolverAnterior();
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
valorInclinar2 = null;
|
|
270
|
+
quantificadorInclinar2 = null;
|
|
271
|
+
}
|
|
272
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'inclinar'.");
|
|
273
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorInclinar1, quantificadorInclinar1, valorInclinar2, quantificadorInclinar2]);
|
|
274
|
+
case "inclinar-horizontal":
|
|
275
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'inclinar-horizontal'.");
|
|
276
|
+
const valorInclinarX = this.avancarEDevolverAnterior();
|
|
277
|
+
let quantificadorInclinarX;
|
|
278
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
279
|
+
quantificadorInclinarX = this.avancarEDevolverAnterior();
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
quantificadorInclinarX = null;
|
|
283
|
+
}
|
|
284
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'inclinar-horizontal'.");
|
|
285
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorInclinarX, quantificadorInclinarX]);
|
|
286
|
+
case "inclinar-vertical":
|
|
287
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'inclinar-vertical'.");
|
|
288
|
+
const valorInclinarY = this.avancarEDevolverAnterior();
|
|
289
|
+
let quantificadorInclinarY;
|
|
290
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
291
|
+
quantificadorInclinarY = this.avancarEDevolverAnterior();
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
quantificadorInclinarY = null;
|
|
295
|
+
}
|
|
296
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'inclinar-vertical'.");
|
|
297
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorInclinarY, quantificadorInclinarY]);
|
|
298
|
+
case "inverter":
|
|
299
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'inverter'.");
|
|
300
|
+
const valorInverter = this.avancarEDevolverAnterior();
|
|
301
|
+
let quantificadorInverter;
|
|
302
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
303
|
+
quantificadorInverter = this.avancarEDevolverAnterior();
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
quantificadorInverter = null;
|
|
307
|
+
}
|
|
308
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'inverter'.");
|
|
309
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorInverter, quantificadorInverter]);
|
|
182
310
|
case "limitar":
|
|
183
311
|
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'limitar'.");
|
|
184
312
|
const valorMin = this.avancarEDevolverAnterior();
|
|
@@ -222,6 +350,18 @@ class AvaliadorSintatico {
|
|
|
222
350
|
else if (parametro02 !== null) {
|
|
223
351
|
return new seletor_valor_1.SeletorValor(lexema, [valor01['lexema'], parametro02]);
|
|
224
352
|
}
|
|
353
|
+
case "opacar":
|
|
354
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'opacar'.");
|
|
355
|
+
const valorOpaco = this.avancarEDevolverAnterior();
|
|
356
|
+
let quantificadorOpaco;
|
|
357
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
358
|
+
quantificadorOpaco = this.avancarEDevolverAnterior();
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
quantificadorOpaco = null;
|
|
362
|
+
}
|
|
363
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'opacar'.");
|
|
364
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorOpaco, quantificadorOpaco]);
|
|
225
365
|
case "passos":
|
|
226
366
|
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'passos'.");
|
|
227
367
|
const valorNumerico = this.avancarEDevolverAnterior();
|
|
@@ -229,6 +369,376 @@ class AvaliadorSintatico {
|
|
|
229
369
|
const termoSalto = this.avancarEDevolverAnterior();
|
|
230
370
|
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após segundo argumento do método passos.");
|
|
231
371
|
return new seletor_valor_1.SeletorValor(lexema, [valorNumerico, termoSalto]);
|
|
372
|
+
case "perspectivar":
|
|
373
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'perspectivar'.");
|
|
374
|
+
const valorPerspectivar = this.avancarEDevolverAnterior();
|
|
375
|
+
let quantificadorPerspectivar;
|
|
376
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
377
|
+
quantificadorPerspectivar = this.avancarEDevolverAnterior();
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
quantificadorPerspectivar = null;
|
|
381
|
+
}
|
|
382
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'perspectivar'.");
|
|
383
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorPerspectivar, quantificadorPerspectivar]);
|
|
384
|
+
case "projetar-sombra":
|
|
385
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'projetar-sombra'.");
|
|
386
|
+
let corSombra = null;
|
|
387
|
+
if (this.simbolos[this.atual].tipo === 'QUALITATIVO') {
|
|
388
|
+
corSombra = this.avancarEDevolverAnterior();
|
|
389
|
+
}
|
|
390
|
+
const valorSombra1 = this.avancarEDevolverAnterior();
|
|
391
|
+
const quantificadorSombra1 = this.avancarEDevolverAnterior();
|
|
392
|
+
const valorSombra2 = this.avancarEDevolverAnterior();
|
|
393
|
+
const quantificadorSombra2 = this.avancarEDevolverAnterior();
|
|
394
|
+
let valorSombra3;
|
|
395
|
+
let quantificadorSombra3;
|
|
396
|
+
if (this.simbolos[this.atual].tipo === 'NUMERO') {
|
|
397
|
+
valorSombra3 = this.avancarEDevolverAnterior();
|
|
398
|
+
quantificadorSombra3 = this.avancarEDevolverAnterior();
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
valorSombra3 = null;
|
|
402
|
+
quantificadorSombra3 = null;
|
|
403
|
+
}
|
|
404
|
+
if (this.simbolos[this.atual].tipo === 'QUALITATIVO') {
|
|
405
|
+
corSombra = this.avancarEDevolverAnterior();
|
|
406
|
+
}
|
|
407
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'projetar-sombra'.");
|
|
408
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorSombra1, quantificadorSombra1, valorSombra2, quantificadorSombra2, valorSombra3, quantificadorSombra3, corSombra]);
|
|
409
|
+
case "raio":
|
|
410
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'raio'.");
|
|
411
|
+
let posicaoRaio;
|
|
412
|
+
if (this.simbolos[this.atual].tipo === 'QUALITATIVO') {
|
|
413
|
+
posicaoRaio = this.avancarEDevolverAnterior();
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
posicaoRaio = null;
|
|
417
|
+
}
|
|
418
|
+
const numeroRaio = this.avancarEDevolverAnterior();
|
|
419
|
+
const quantificadorRaio = this.avancarEDevolverAnterior();
|
|
420
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumentos de método 'raio'.");
|
|
421
|
+
return new seletor_valor_1.SeletorValor(lexema, [posicaoRaio, numeroRaio, quantificadorRaio]);
|
|
422
|
+
case "rgb":
|
|
423
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rgb'.");
|
|
424
|
+
const vermelho = this.avancarEDevolverAnterior();
|
|
425
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após argumento de cor vermelha.");
|
|
426
|
+
const verde = this.avancarEDevolverAnterior();
|
|
427
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após argumento de cor verde.");
|
|
428
|
+
const azul = this.avancarEDevolverAnterior();
|
|
429
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumentos de método 'rgb'.");
|
|
430
|
+
return new seletor_valor_1.SeletorValor(lexema, [vermelho, verde, azul]);
|
|
431
|
+
case "rgba":
|
|
432
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rgba'.");
|
|
433
|
+
const vermelhoRgba = this.avancarEDevolverAnterior();
|
|
434
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após argumento de cor vermelha.");
|
|
435
|
+
const verdeRgba = this.avancarEDevolverAnterior();
|
|
436
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após argumento de cor verde.");
|
|
437
|
+
const azulRgba = this.avancarEDevolverAnterior();
|
|
438
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após argumentos de método 'rgba'.");
|
|
439
|
+
return new seletor_valor_1.SeletorValor(lexema, [vermelhoRgba, verdeRgba, azulRgba]);
|
|
440
|
+
case "rotacionar":
|
|
441
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotacionar'.");
|
|
442
|
+
const valorRotacionar = this.avancarEDevolverAnterior();
|
|
443
|
+
let quantificadorRotacionar;
|
|
444
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
445
|
+
quantificadorRotacionar = this.avancarEDevolverAnterior();
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
quantificadorRotacionar = null;
|
|
449
|
+
}
|
|
450
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotacionar'.");
|
|
451
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorRotacionar, quantificadorRotacionar]);
|
|
452
|
+
case "rotacionar-eixo-z":
|
|
453
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotacionar-eixo-z'.");
|
|
454
|
+
const valorRotacionarZ = this.avancarEDevolverAnterior();
|
|
455
|
+
let quantificadorRotacionarZ;
|
|
456
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
457
|
+
quantificadorRotacionarZ = this.avancarEDevolverAnterior();
|
|
458
|
+
}
|
|
459
|
+
else {
|
|
460
|
+
quantificadorRotacionarZ = null;
|
|
461
|
+
}
|
|
462
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotacionar-eixo-z'.");
|
|
463
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorRotacionarZ, quantificadorRotacionarZ]);
|
|
464
|
+
case "rotacionar-horizontal":
|
|
465
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotacionar-horizontal'.");
|
|
466
|
+
const valorRotacionarX = this.avancarEDevolverAnterior();
|
|
467
|
+
let quantificadorRotacionarX;
|
|
468
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
469
|
+
quantificadorRotacionarX = this.avancarEDevolverAnterior();
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
quantificadorRotacionarX = null;
|
|
473
|
+
}
|
|
474
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotacionar-horizontal'.");
|
|
475
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorRotacionarX, quantificadorRotacionarX]);
|
|
476
|
+
case "rotacionar-matiz":
|
|
477
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotacionar-matiz'.");
|
|
478
|
+
const valorRotacao = this.avancarEDevolverAnterior();
|
|
479
|
+
let quantificadorRotacao;
|
|
480
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
481
|
+
quantificadorRotacao = this.avancarEDevolverAnterior();
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
quantificadorRotacao = null;
|
|
485
|
+
}
|
|
486
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotacionar-matiz'.");
|
|
487
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorRotacao, quantificadorRotacao]);
|
|
488
|
+
case "rotacionar-vertical":
|
|
489
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'rotacionar-vertical'.");
|
|
490
|
+
const valorRotacionarY = this.avancarEDevolverAnterior();
|
|
491
|
+
let quantificadorRotacionarY;
|
|
492
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
493
|
+
quantificadorRotacionarY = this.avancarEDevolverAnterior();
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
quantificadorRotacionarY = null;
|
|
497
|
+
}
|
|
498
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'rotacionar-vertical'.");
|
|
499
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorRotacionarY, quantificadorRotacionarY]);
|
|
500
|
+
case "saturar":
|
|
501
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'saturar'.");
|
|
502
|
+
const valorSaturar = this.avancarEDevolverAnterior();
|
|
503
|
+
let quantificadorSaturar;
|
|
504
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
505
|
+
quantificadorSaturar = this.avancarEDevolverAnterior();
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
quantificadorSaturar = null;
|
|
509
|
+
}
|
|
510
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'saturar'.");
|
|
511
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorSaturar, quantificadorSaturar]);
|
|
512
|
+
case "sepia":
|
|
513
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'sepia'.");
|
|
514
|
+
const valorSepia = this.avancarEDevolverAnterior();
|
|
515
|
+
let quantificadorSepia;
|
|
516
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
517
|
+
quantificadorSepia = this.avancarEDevolverAnterior();
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
quantificadorSepia = null;
|
|
521
|
+
}
|
|
522
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'sepia'.");
|
|
523
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorSepia, quantificadorSepia]);
|
|
524
|
+
case "sépia":
|
|
525
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'sépia'.");
|
|
526
|
+
const valorSépia = this.avancarEDevolverAnterior();
|
|
527
|
+
let quantificadorSépia;
|
|
528
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
529
|
+
quantificadorSépia = this.avancarEDevolverAnterior();
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
quantificadorSépia = null;
|
|
533
|
+
}
|
|
534
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'sépia'.");
|
|
535
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorSépia, quantificadorSépia]);
|
|
536
|
+
case "translação":
|
|
537
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação'.");
|
|
538
|
+
const valorTranslacao1 = this.avancarEDevolverAnterior();
|
|
539
|
+
let quantificadorTranlacao1;
|
|
540
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
541
|
+
quantificadorTranlacao1 = this.avancarEDevolverAnterior();
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
quantificadorTranlacao1 = null;
|
|
545
|
+
}
|
|
546
|
+
let valorTranslacao2;
|
|
547
|
+
let quantificadorTranlacao2;
|
|
548
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
549
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'translação'.");
|
|
550
|
+
valorTranslacao2 = this.avancarEDevolverAnterior();
|
|
551
|
+
quantificadorTranlacao2 = this.avancarEDevolverAnterior();
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
valorTranslacao2 = null;
|
|
555
|
+
quantificadorTranlacao2 = null;
|
|
556
|
+
}
|
|
557
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação'.");
|
|
558
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacao1, quantificadorTranlacao1, valorTranslacao2, quantificadorTranlacao2]);
|
|
559
|
+
case "translacao":
|
|
560
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação'.");
|
|
561
|
+
const valorTranslacao01 = this.avancarEDevolverAnterior();
|
|
562
|
+
let quantificadorTranlacao01;
|
|
563
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
564
|
+
quantificadorTranlacao01 = this.avancarEDevolverAnterior();
|
|
565
|
+
}
|
|
566
|
+
else {
|
|
567
|
+
quantificadorTranlacao01 = null;
|
|
568
|
+
}
|
|
569
|
+
let valorTranslacao02;
|
|
570
|
+
let quantificadorTranlacao02;
|
|
571
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
572
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'translação'.");
|
|
573
|
+
valorTranslacao02 = this.avancarEDevolverAnterior();
|
|
574
|
+
quantificadorTranlacao02 = this.avancarEDevolverAnterior();
|
|
575
|
+
}
|
|
576
|
+
else {
|
|
577
|
+
valorTranslacao02 = null;
|
|
578
|
+
quantificadorTranlacao02 = null;
|
|
579
|
+
}
|
|
580
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação'.");
|
|
581
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacao01, quantificadorTranlacao01, valorTranslacao02, quantificadorTranlacao02]);
|
|
582
|
+
case "translação-3d":
|
|
583
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-3d'.");
|
|
584
|
+
const valorTranslacao3d1 = this.avancarEDevolverAnterior();
|
|
585
|
+
let quantificadorTranlacao3d1;
|
|
586
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
587
|
+
quantificadorTranlacao3d1 = this.avancarEDevolverAnterior();
|
|
588
|
+
}
|
|
589
|
+
else {
|
|
590
|
+
quantificadorTranlacao3d1 = null;
|
|
591
|
+
}
|
|
592
|
+
let valorTranslacao3d2;
|
|
593
|
+
let quantificadorTranlacao3d2;
|
|
594
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
595
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'translação-3d'.");
|
|
596
|
+
valorTranslacao3d2 = this.avancarEDevolverAnterior();
|
|
597
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
598
|
+
quantificadorTranlacao3d2 = this.avancarEDevolverAnterior();
|
|
599
|
+
}
|
|
600
|
+
else {
|
|
601
|
+
quantificadorTranlacao3d2 = null;
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
else {
|
|
605
|
+
valorTranslacao3d2 = null;
|
|
606
|
+
quantificadorTranlacao3d2 = null;
|
|
607
|
+
}
|
|
608
|
+
let valorTranslacao3d3;
|
|
609
|
+
let quantificadorTranlacao3d3;
|
|
610
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
611
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'translação-3d'.");
|
|
612
|
+
valorTranslacao3d3 = this.avancarEDevolverAnterior();
|
|
613
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
614
|
+
quantificadorTranlacao3d3 = this.avancarEDevolverAnterior();
|
|
615
|
+
}
|
|
616
|
+
else {
|
|
617
|
+
quantificadorTranlacao3d3 = null;
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
valorTranslacao3d3 = null;
|
|
622
|
+
quantificadorTranlacao3d3 = null;
|
|
623
|
+
}
|
|
624
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-3d'.");
|
|
625
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacao3d1, quantificadorTranlacao3d1, valorTranslacao3d2, quantificadorTranlacao3d2, valorTranslacao3d3, quantificadorTranlacao3d3]);
|
|
626
|
+
case "translacao-3d":
|
|
627
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-3d'.");
|
|
628
|
+
const valorTranslacao3d01 = this.avancarEDevolverAnterior();
|
|
629
|
+
let quantificadorTranlacao3d01;
|
|
630
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
631
|
+
quantificadorTranlacao3d01 = this.avancarEDevolverAnterior();
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
634
|
+
quantificadorTranlacao3d01 = null;
|
|
635
|
+
}
|
|
636
|
+
let valorTranslacao3d02;
|
|
637
|
+
let quantificadorTranlacao3d02;
|
|
638
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
639
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'translação-3d'.");
|
|
640
|
+
valorTranslacao3d02 = this.avancarEDevolverAnterior();
|
|
641
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
642
|
+
quantificadorTranlacao3d02 = this.avancarEDevolverAnterior();
|
|
643
|
+
}
|
|
644
|
+
else {
|
|
645
|
+
quantificadorTranlacao3d02 = null;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
valorTranslacao3d02 = null;
|
|
650
|
+
quantificadorTranlacao3d02 = null;
|
|
651
|
+
}
|
|
652
|
+
let valorTranslacao3d03;
|
|
653
|
+
let quantificadorTranlacao3d03;
|
|
654
|
+
if (this.simbolos[this.atual].tipo === 'VIRGULA') {
|
|
655
|
+
this.consumir(foles_1.default.VIRGULA, "Esperado vírgula após primeiro argumento do método 'translação-3d'.");
|
|
656
|
+
valorTranslacao3d03 = this.avancarEDevolverAnterior();
|
|
657
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
658
|
+
quantificadorTranlacao3d03 = this.avancarEDevolverAnterior();
|
|
659
|
+
}
|
|
660
|
+
else {
|
|
661
|
+
quantificadorTranlacao3d03 = null;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
else {
|
|
665
|
+
valorTranslacao3d03 = null;
|
|
666
|
+
quantificadorTranlacao3d03 = null;
|
|
667
|
+
}
|
|
668
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-3d'.");
|
|
669
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacao3d01, quantificadorTranlacao3d01, valorTranslacao3d02, quantificadorTranlacao3d02, valorTranslacao3d03, quantificadorTranlacao3d03]);
|
|
670
|
+
case "translação-eixo-z":
|
|
671
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-eixo-z'.");
|
|
672
|
+
const valorTranslaçaoZ = this.avancarEDevolverAnterior();
|
|
673
|
+
let quantificadorTranslaçaoZ;
|
|
674
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
675
|
+
quantificadorTranslaçaoZ = this.avancarEDevolverAnterior();
|
|
676
|
+
}
|
|
677
|
+
else {
|
|
678
|
+
quantificadorTranslaçaoZ = null;
|
|
679
|
+
}
|
|
680
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-eixo-z'.");
|
|
681
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslaçaoZ, quantificadorTranslaçaoZ]);
|
|
682
|
+
case "translacao-eixo-z":
|
|
683
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-eixo-z'.");
|
|
684
|
+
const valorTranslacaoZ = this.avancarEDevolverAnterior();
|
|
685
|
+
let quantificadorTranslacaoZ;
|
|
686
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
687
|
+
quantificadorTranslacaoZ = this.avancarEDevolverAnterior();
|
|
688
|
+
}
|
|
689
|
+
else {
|
|
690
|
+
quantificadorTranslacaoZ = null;
|
|
691
|
+
}
|
|
692
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-eixo-z'.");
|
|
693
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacaoZ, quantificadorTranslacaoZ]);
|
|
694
|
+
case "translação-horizontal":
|
|
695
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-horizontal'.");
|
|
696
|
+
const valorTranslaçaoX = this.avancarEDevolverAnterior();
|
|
697
|
+
let quantificadorTranslaçaoX;
|
|
698
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
699
|
+
quantificadorTranslaçaoX = this.avancarEDevolverAnterior();
|
|
700
|
+
}
|
|
701
|
+
else {
|
|
702
|
+
quantificadorTranslaçaoX = null;
|
|
703
|
+
}
|
|
704
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-horizontal'.");
|
|
705
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslaçaoX, quantificadorTranslaçaoX]);
|
|
706
|
+
case "translacao-horizontal":
|
|
707
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-horizontal'.");
|
|
708
|
+
const valorTranslacaoX = this.avancarEDevolverAnterior();
|
|
709
|
+
let quantificadorTranslacaoX;
|
|
710
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
711
|
+
quantificadorTranslacaoX = this.avancarEDevolverAnterior();
|
|
712
|
+
}
|
|
713
|
+
else {
|
|
714
|
+
quantificadorTranslacaoX = null;
|
|
715
|
+
}
|
|
716
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-horizontal'.");
|
|
717
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacaoX, quantificadorTranslacaoX]);
|
|
718
|
+
case "translação-vertical":
|
|
719
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-vertical'.");
|
|
720
|
+
const valorTranslaçaoY = this.avancarEDevolverAnterior();
|
|
721
|
+
let quantificadorTranslaçaoY;
|
|
722
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
723
|
+
quantificadorTranslaçaoY = this.avancarEDevolverAnterior();
|
|
724
|
+
}
|
|
725
|
+
else {
|
|
726
|
+
quantificadorTranslaçaoY = null;
|
|
727
|
+
}
|
|
728
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-vertical'.");
|
|
729
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslaçaoY, quantificadorTranslaçaoY]);
|
|
730
|
+
case "translacao-vertical":
|
|
731
|
+
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'translação-vertical'.");
|
|
732
|
+
const valorTranslacaoY = this.avancarEDevolverAnterior();
|
|
733
|
+
let quantificadorTranslacaoY;
|
|
734
|
+
if (this.simbolos[this.atual].tipo === 'QUANTIFICADOR') {
|
|
735
|
+
quantificadorTranslacaoY = this.avancarEDevolverAnterior();
|
|
736
|
+
}
|
|
737
|
+
else {
|
|
738
|
+
quantificadorTranslacaoY = null;
|
|
739
|
+
}
|
|
740
|
+
this.consumir(foles_1.default.PARENTESE_DIREITO, "Esperado parêntese direito após método 'translação-vertical'.");
|
|
741
|
+
return new seletor_valor_1.SeletorValor(lexema, [valorTranslacaoY, quantificadorTranslacaoY]);
|
|
232
742
|
case "url":
|
|
233
743
|
this.consumir(foles_1.default.PARENTESE_ESQUERDO, "Esperado parêntese esquerdo após método 'url'.");
|
|
234
744
|
const url = this.validacaoUrl();
|