@designliquido/delegua 0.60.0 → 0.61.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/avaliador-sintatico/avaliador-sintatico.d.ts +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.js +15 -7
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +2 -4
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +24 -45
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/bin/package.json +1 -1
- package/construtos/logico.d.ts +1 -0
- package/construtos/logico.d.ts.map +1 -1
- package/construtos/logico.js +1 -0
- package/construtos/logico.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +1 -0
- package/interpretador/interpretador-base.d.ts.map +1 -1
- package/interpretador/interpretador-base.js +21 -8
- package/interpretador/interpretador-base.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
- package/lexador/dialetos/lexador-pitugues.js +6 -6
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/lexador/dialetos/palavras-reservadas/pitugues.d.ts +5 -1
- package/lexador/dialetos/palavras-reservadas/pitugues.d.ts.map +1 -1
- package/lexador/dialetos/palavras-reservadas/pitugues.js +6 -2
- package/lexador/dialetos/palavras-reservadas/pitugues.js.map +1 -1
- package/lexador/lexador.js +2 -2
- package/lexador/lexador.js.map +1 -1
- package/lexador/palavras-reservadas.d.ts +6 -2
- package/lexador/palavras-reservadas.d.ts.map +1 -1
- package/lexador/palavras-reservadas.js +7 -3
- package/lexador/palavras-reservadas.js.map +1 -1
- package/package.json +1 -1
- package/tipos-de-simbolos/delegua.d.ts +2 -0
- package/tipos-de-simbolos/delegua.d.ts.map +1 -1
- package/tipos-de-simbolos/delegua.js +2 -0
- package/tipos-de-simbolos/delegua.js.map +1 -1
- package/tipos-de-simbolos/microgramaticas/delegua.d.ts +2 -0
- package/tipos-de-simbolos/microgramaticas/delegua.d.ts.map +1 -1
- package/tipos-de-simbolos/microgramaticas/delegua.js +2 -0
- package/tipos-de-simbolos/microgramaticas/delegua.js.map +1 -1
- package/tipos-de-simbolos/pitugues.d.ts +2 -0
- package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
- package/tipos-de-simbolos/pitugues.js +2 -0
- package/tipos-de-simbolos/pitugues.js.map +1 -1
- package/umd/delegua.js +88 -73
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegua.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/delegua.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegua.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/delegua.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAgGE"}
|
|
@@ -18,6 +18,7 @@ exports.default = {
|
|
|
18
18
|
COMO: 'COMO',
|
|
19
19
|
CONSTANTE: 'CONSTANTE',
|
|
20
20
|
CONSTRUTOR: 'CONSTRUTOR',
|
|
21
|
+
CONTEM: 'CONTEM',
|
|
21
22
|
CONTINUA: 'CONTINUA',
|
|
22
23
|
DE: 'DE',
|
|
23
24
|
DECREMENTAR: 'DECREMENTAR',
|
|
@@ -64,6 +65,7 @@ exports.default = {
|
|
|
64
65
|
MODULO_IGUAL: 'MODULO_IGUAL',
|
|
65
66
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
66
67
|
MULTIPLICACAO_IGUAL: 'MULTIPLICACAO_IGUAL',
|
|
68
|
+
NAO: 'NAO',
|
|
67
69
|
NEGACAO: 'NEGACAO',
|
|
68
70
|
NULO: 'NULO',
|
|
69
71
|
NUMERO: 'NUMERO',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/delegua.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,IAAI;IACR,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,uBAAuB;IAC9C,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,gBAAgB,EAAE,kBAAkB;IACpC,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/delegua.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ declare const _default: {
|
|
|
8
8
|
CHAVE_ESQUERDA: string;
|
|
9
9
|
COLCHETE_DIREITO: string;
|
|
10
10
|
COLCHETE_ESQUERDO: string;
|
|
11
|
+
CONTEM: string;
|
|
11
12
|
DECREMENTAR: string;
|
|
12
13
|
DIFERENTE: string;
|
|
13
14
|
DIVISAO: string;
|
|
@@ -32,6 +33,7 @@ declare const _default: {
|
|
|
32
33
|
MENOR_MENOR: string;
|
|
33
34
|
MODULO: string;
|
|
34
35
|
MULTIPLICACAO: string;
|
|
36
|
+
NAO: string;
|
|
35
37
|
NEGACAO: string;
|
|
36
38
|
NULO: string;
|
|
37
39
|
NUMERO: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegua.d.ts","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/microgramaticas/delegua.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegua.d.ts","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/microgramaticas/delegua.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAgDE"}
|
|
@@ -10,6 +10,7 @@ exports.default = {
|
|
|
10
10
|
CHAVE_ESQUERDA: 'CHAVE_ESQUERDA',
|
|
11
11
|
COLCHETE_DIREITO: 'COLCHETE_DIREITO',
|
|
12
12
|
COLCHETE_ESQUERDO: 'COLCHETE_ESQUERDO',
|
|
13
|
+
CONTEM: 'CONTEM',
|
|
13
14
|
DECREMENTAR: 'DECREMENTAR',
|
|
14
15
|
DIFERENTE: 'DIFERENTE',
|
|
15
16
|
DIVISAO: 'DIVISAO',
|
|
@@ -34,6 +35,7 @@ exports.default = {
|
|
|
34
35
|
MENOR_MENOR: 'MENOR_MENOR',
|
|
35
36
|
MODULO: 'MODULO',
|
|
36
37
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
38
|
+
NAO: 'NAO',
|
|
37
39
|
NEGACAO: 'NEGACAO',
|
|
38
40
|
NULO: 'NULO',
|
|
39
41
|
NUMERO: 'NUMERO',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/microgramaticas/delegua.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/microgramaticas/delegua.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;IACV,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
|
@@ -14,6 +14,7 @@ declare const _default: {
|
|
|
14
14
|
COMENTARIO: string;
|
|
15
15
|
COMO: string;
|
|
16
16
|
CONSTRUTOR: string;
|
|
17
|
+
CONTEM: string;
|
|
17
18
|
CONTINUA: string;
|
|
18
19
|
DE: string;
|
|
19
20
|
DIFERENTE: string;
|
|
@@ -50,6 +51,7 @@ declare const _default: {
|
|
|
50
51
|
MENOR_MENOR: string;
|
|
51
52
|
MODULO: string;
|
|
52
53
|
MULTIPLICACAO: string;
|
|
54
|
+
NAO: string;
|
|
53
55
|
NEGACAO: string;
|
|
54
56
|
NULO: string;
|
|
55
57
|
NUMERO: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pitugues.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pitugues.d.ts","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAkFE"}
|
|
@@ -16,6 +16,7 @@ exports.default = {
|
|
|
16
16
|
COMENTARIO: 'COMENTARIO',
|
|
17
17
|
COMO: 'COMO',
|
|
18
18
|
CONSTRUTOR: 'CONSTRUTOR',
|
|
19
|
+
CONTEM: 'CONTEM',
|
|
19
20
|
CONTINUA: 'CONTINUA',
|
|
20
21
|
DE: 'DE',
|
|
21
22
|
DIFERENTE: 'DIFERENTE',
|
|
@@ -52,6 +53,7 @@ exports.default = {
|
|
|
52
53
|
MENOR_MENOR: 'MENOR_MENOR',
|
|
53
54
|
MODULO: 'MODULO',
|
|
54
55
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
56
|
+
NAO: 'NAO',
|
|
55
57
|
NEGACAO: 'NEGACAO',
|
|
56
58
|
NULO: 'NULO',
|
|
57
59
|
NUMERO: 'NUMERO',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pitugues.js","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"pitugues.js","sourceRoot":"","sources":["../../fontes/tipos-de-simbolos/pitugues.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,EAAE,EAAE,IAAI;IACR,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,mBAAmB;IACtC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
package/umd/delegua.js
CHANGED
|
@@ -426,7 +426,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
426
426
|
throw this.erro(simboloPara, 'Identificador de iteração deve ser ou um par chave-valor, ou um nome de variável.');
|
|
427
427
|
}
|
|
428
428
|
paraTradicionalComoConstruto(simboloPara) {
|
|
429
|
-
const { inicializador, condicao, incrementar, corpo } = this.logicaComumPara(
|
|
429
|
+
const { inicializador, condicao, incrementar, corpo } = this.logicaComumPara();
|
|
430
430
|
return new construtos_1.ParaComoConstruto(simboloPara.hashArquivo, simboloPara.linha, inicializador, condicao, incrementar, corpo);
|
|
431
431
|
}
|
|
432
432
|
/**
|
|
@@ -711,7 +711,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
711
711
|
return this.resolverCadeiaChamadas(chamada);
|
|
712
712
|
case delegua_2.default.PONTO:
|
|
713
713
|
this.avancarEDevolverAnterior();
|
|
714
|
-
|
|
714
|
+
this.verificarSeSimboloAtualEIgualA();
|
|
715
|
+
const nome = this.avancarEDevolverAnterior();
|
|
715
716
|
let tipoInferido = expressaoAnterior.tipo;
|
|
716
717
|
// Se não for um dicionário anônimo (ou seja, ser variável ou constante com nome)
|
|
717
718
|
if (expressaoAnterior.tipo === 'dicionário' &&
|
|
@@ -904,7 +905,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
904
905
|
return construtoChamada;
|
|
905
906
|
}
|
|
906
907
|
unario() {
|
|
907
|
-
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.NEGACAO, delegua_2.default.SUBTRACAO, delegua_2.default.BIT_NOT, delegua_2.default.INCREMENTAR, delegua_2.default.DECREMENTAR)) {
|
|
908
|
+
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.NAO, delegua_2.default.NEGACAO, delegua_2.default.SUBTRACAO, delegua_2.default.BIT_NOT, delegua_2.default.INCREMENTAR, delegua_2.default.DECREMENTAR)) {
|
|
908
909
|
const operador = this.simbolos[this.atual - 1];
|
|
909
910
|
const direito = this.unario();
|
|
910
911
|
return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
|
|
@@ -1004,10 +1005,16 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1004
1005
|
}
|
|
1005
1006
|
em() {
|
|
1006
1007
|
let expressao = this.comparacaoIgualdade();
|
|
1007
|
-
while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.EM)) {
|
|
1008
|
-
|
|
1008
|
+
while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.EM, delegua_2.default.CONTEM, delegua_2.default.NAO)) {
|
|
1009
|
+
let operador = this.simbolos[this.atual - 1];
|
|
1010
|
+
let negado = false;
|
|
1011
|
+
if (operador.tipo === delegua_2.default.NAO) {
|
|
1012
|
+
operador = this.consumir(delegua_2.default.CONTEM, `Esperado palavra reservada 'contém' ou 'contem' após palavra reservada ${operador.lexema}.`);
|
|
1013
|
+
negado = true;
|
|
1014
|
+
}
|
|
1009
1015
|
const direito = this.comparacaoIgualdade();
|
|
1010
1016
|
expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
|
|
1017
|
+
expressao.negado = negado;
|
|
1011
1018
|
}
|
|
1012
1019
|
return expressao;
|
|
1013
1020
|
}
|
|
@@ -1391,7 +1398,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1391
1398
|
}
|
|
1392
1399
|
throw this.erro(simboloPara, 'Identificador de iteração deve ser ou um par chave-valor, ou um nome de variável.');
|
|
1393
1400
|
}
|
|
1394
|
-
logicaComumPara(
|
|
1401
|
+
logicaComumPara() {
|
|
1395
1402
|
const comParenteses = this.verificarSeSimboloAtualEIgualA(delegua_2.default.PARENTESE_ESQUERDO);
|
|
1396
1403
|
let inicializador;
|
|
1397
1404
|
if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.PONTO_E_VIRGULA)) {
|
|
@@ -1430,7 +1437,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1430
1437
|
};
|
|
1431
1438
|
}
|
|
1432
1439
|
declaracaoParaTradicional(simboloPara) {
|
|
1433
|
-
const { inicializador, condicao, incrementar, corpo } = this.logicaComumPara(
|
|
1440
|
+
const { inicializador, condicao, incrementar, corpo } = this.logicaComumPara();
|
|
1434
1441
|
return new declaracoes_1.Para(this.hashArquivo, Number(simboloPara.linha), inicializador, condicao, incrementar, corpo);
|
|
1435
1442
|
}
|
|
1436
1443
|
declaracaoRetorna() {
|
|
@@ -1444,6 +1451,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
|
|
|
1444
1451
|
delegua_2.default.FUNÇÃO,
|
|
1445
1452
|
delegua_2.default.IDENTIFICADOR,
|
|
1446
1453
|
delegua_2.default.ISTO,
|
|
1454
|
+
delegua_2.default.NAO,
|
|
1447
1455
|
delegua_2.default.NEGACAO,
|
|
1448
1456
|
delegua_2.default.NUMERO,
|
|
1449
1457
|
delegua_2.default.NULO,
|
|
@@ -3652,10 +3660,16 @@ class AvaliadorSintaticoPitugues {
|
|
|
3652
3660
|
}
|
|
3653
3661
|
em() {
|
|
3654
3662
|
let expressao = this.comparacaoIgualdade();
|
|
3655
|
-
while (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.EM)) {
|
|
3656
|
-
|
|
3663
|
+
while (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.EM, pitugues_2.default.CONTEM, pitugues_2.default.NAO)) {
|
|
3664
|
+
let operador = this.simboloAnterior();
|
|
3665
|
+
let negado = false;
|
|
3666
|
+
if (operador.tipo === pitugues_2.default.NAO) {
|
|
3667
|
+
operador = this.consumir(pitugues_2.default.CONTEM, `Esperado palavra reservada 'contém' ou 'contem' após palavra reservada ${operador.lexema}.`);
|
|
3668
|
+
negado = true;
|
|
3669
|
+
}
|
|
3657
3670
|
const direito = this.comparacaoIgualdade();
|
|
3658
3671
|
expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
|
|
3672
|
+
expressao.negado = negado;
|
|
3659
3673
|
}
|
|
3660
3674
|
return expressao;
|
|
3661
3675
|
}
|
|
@@ -3839,54 +3853,27 @@ class AvaliadorSintaticoPitugues {
|
|
|
3839
3853
|
this.blocos -= 1;
|
|
3840
3854
|
}
|
|
3841
3855
|
}
|
|
3842
|
-
declaracaoParaCada(simboloPara) {
|
|
3843
|
-
const nomeVariavelIteracao = this.consumir(pitugues_2.default.IDENTIFICADOR, "Esperado identificador de variável de iteração para instrução 'para cada'.");
|
|
3844
|
-
if (!this.verificarSeSimboloAtualEIgualA(pitugues_2.default.DE, pitugues_2.default.EM)) {
|
|
3845
|
-
throw this.erro(this.simbolos[this.atual], "Esperado palavras reservadas 'em' ou 'de' após variável de iteração em instrução 'para cada'.");
|
|
3846
|
-
}
|
|
3847
|
-
const vetor = this.expressao();
|
|
3848
|
-
if (!vetor.hasOwnProperty('tipo')) {
|
|
3849
|
-
throw this.erro(simboloPara, `Variável ou constante em 'para cada' não parece possuir um tipo iterável.`);
|
|
3850
|
-
}
|
|
3851
|
-
const tipoVetor = vetor.tipo;
|
|
3852
|
-
if (!tipoVetor.endsWith('[]') && !['qualquer', 'vetor'].includes(tipoVetor)) {
|
|
3853
|
-
throw this.erro(simboloPara, `Variável ou constante em 'para cada' não é iterável. Tipo resolvido: ${tipoVetor}.`);
|
|
3854
|
-
}
|
|
3855
|
-
this.pilhaEscopos.definirInformacoesVariavel(nomeVariavelIteracao.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeVariavelIteracao.lexema, tipoVetor.slice(0, -2)));
|
|
3856
|
-
// TODO: Talvez não seja uma ideia melhor chamar o método de `Bloco` aqui?
|
|
3857
|
-
const corpo = this.resolverDeclaracao();
|
|
3858
|
-
return new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, nomeVariavelIteracao), vetor, corpo);
|
|
3859
|
-
}
|
|
3860
|
-
declaracaoParaTradicional(simboloPara) {
|
|
3861
|
-
let inicializador;
|
|
3862
|
-
if (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.PONTO_E_VIRGULA)) {
|
|
3863
|
-
inicializador = null;
|
|
3864
|
-
}
|
|
3865
|
-
else if (this.verificarSeSimboloAtualEIgualA(pitugues_2.default.VARIAVEL)) {
|
|
3866
|
-
inicializador = this.declaracaoDeVariaveis();
|
|
3867
|
-
}
|
|
3868
|
-
else {
|
|
3869
|
-
inicializador = this.declaracaoExpressao();
|
|
3870
|
-
}
|
|
3871
|
-
let condicao = null;
|
|
3872
|
-
if (!this.verificarTipoSimboloAtual(pitugues_2.default.PONTO_E_VIRGULA)) {
|
|
3873
|
-
condicao = this.expressao();
|
|
3874
|
-
}
|
|
3875
|
-
let incrementar = null;
|
|
3876
|
-
if (this.simbolos[this.atual].tipo !== pitugues_2.default.DOIS_PONTOS) {
|
|
3877
|
-
incrementar = this.expressao();
|
|
3878
|
-
}
|
|
3879
|
-
const corpo = this.resolverDeclaracao();
|
|
3880
|
-
return new declaracoes_1.Para(this.hashArquivo, Number(simboloPara.linha), inicializador, condicao, incrementar, corpo);
|
|
3881
|
-
}
|
|
3882
3856
|
declaracaoPara() {
|
|
3883
3857
|
try {
|
|
3884
3858
|
const simboloPara = this.simboloAnterior();
|
|
3885
3859
|
this.blocos += 1;
|
|
3886
|
-
|
|
3887
|
-
|
|
3860
|
+
this.consumir(pitugues_2.default.CADA, `Esperado palavra reservada 'cada' após 'para'. Atual: ${this.simbolos[this.atual].lexema}.`);
|
|
3861
|
+
const nomeVariavelIteracao = this.consumir(pitugues_2.default.IDENTIFICADOR, "Esperado identificador de variável de iteração para instrução 'para cada'.");
|
|
3862
|
+
if (!this.verificarSeSimboloAtualEIgualA(pitugues_2.default.DE, pitugues_2.default.EM)) {
|
|
3863
|
+
throw this.erro(this.simbolos[this.atual], "Esperado palavras reservadas 'em' ou 'de' após variável de iteração em instrução 'para cada'.");
|
|
3888
3864
|
}
|
|
3889
|
-
|
|
3865
|
+
const vetor = this.expressao();
|
|
3866
|
+
if (!vetor.hasOwnProperty('tipo')) {
|
|
3867
|
+
throw this.erro(simboloPara, `Variável ou constante em 'para cada' não parece possuir um tipo iterável.`);
|
|
3868
|
+
}
|
|
3869
|
+
const tipoVetor = vetor.tipo;
|
|
3870
|
+
if (!tipoVetor.endsWith('[]') && !['qualquer', 'texto', 'vetor'].includes(tipoVetor)) {
|
|
3871
|
+
throw this.erro(simboloPara, `Variável ou constante em 'para cada' não é iterável. Tipo resolvido: ${tipoVetor}.`);
|
|
3872
|
+
}
|
|
3873
|
+
this.pilhaEscopos.definirInformacoesVariavel(nomeVariavelIteracao.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(nomeVariavelIteracao.lexema, tipoVetor.slice(0, -2)));
|
|
3874
|
+
// TODO: Talvez não seja uma ideia melhor chamar o método de `Bloco` aqui?
|
|
3875
|
+
const corpo = this.resolverDeclaracao();
|
|
3876
|
+
return new declaracoes_1.ParaCada(this.hashArquivo, Number(simboloPara.linha), new construtos_1.Variavel(this.hashArquivo, nomeVariavelIteracao), vetor, corpo);
|
|
3890
3877
|
}
|
|
3891
3878
|
catch (erro) {
|
|
3892
3879
|
throw erro;
|
|
@@ -8654,6 +8641,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8654
8641
|
exports.Logico = void 0;
|
|
8655
8642
|
class Logico {
|
|
8656
8643
|
constructor(hashArquivo, esquerda, operador, direita) {
|
|
8644
|
+
this.negado = false;
|
|
8657
8645
|
this.linha = esquerda.linha;
|
|
8658
8646
|
this.hashArquivo = hashArquivo;
|
|
8659
8647
|
this.esquerda = esquerda;
|
|
@@ -12827,18 +12815,31 @@ class InterpretadorBase {
|
|
|
12827
12815
|
async visitarDeclaracaoDeExpressao(declaracao) {
|
|
12828
12816
|
return await this.avaliar(declaracao.expressao);
|
|
12829
12817
|
}
|
|
12818
|
+
logicaContemOuEm(esquerda, direita, expressao) {
|
|
12819
|
+
const valorDireitoResolvido = this.resolverValor(direita);
|
|
12820
|
+
if (Array.isArray(valorDireitoResolvido) || typeof valorDireitoResolvido === primitivos_1.default.TEXTO) {
|
|
12821
|
+
const avaliacao = valorDireitoResolvido.includes(esquerda);
|
|
12822
|
+
return expressao.negado ? !avaliacao : avaliacao;
|
|
12823
|
+
}
|
|
12824
|
+
if (valorDireitoResolvido !== null && typeof valorDireitoResolvido === 'object') {
|
|
12825
|
+
const avaliacao = esquerda in valorDireitoResolvido;
|
|
12826
|
+
return expressao.negado ? !avaliacao : avaliacao;
|
|
12827
|
+
}
|
|
12828
|
+
throw new excecoes_1.ErroEmTempoDeExecucao(esquerda, `Tipo de chamada inválida com '${expressao.operador.tipo}'.`, expressao.linha);
|
|
12829
|
+
}
|
|
12830
12830
|
async visitarExpressaoLogica(expressao) {
|
|
12831
12831
|
const esquerda = await this.avaliar(expressao.esquerda);
|
|
12832
|
-
if (
|
|
12832
|
+
if ([delegua_1.default.EM, delegua_1.default.CONTEM].includes(expressao.operador.tipo)) {
|
|
12833
12833
|
const direita = await this.avaliar(expressao.direita);
|
|
12834
|
-
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
(
|
|
12834
|
+
// `3 em lista` é igual a `lista contém 3`.
|
|
12835
|
+
// Portanto, precisamos inverter os operandos de acordo com a
|
|
12836
|
+
// palavra reservada usada.
|
|
12837
|
+
switch (expressao.operador.tipo) {
|
|
12838
|
+
case delegua_1.default.EM:
|
|
12839
|
+
return this.logicaContemOuEm(esquerda, direita, expressao);
|
|
12840
|
+
case delegua_1.default.CONTEM:
|
|
12841
|
+
return this.logicaContemOuEm(direita, esquerda, expressao);
|
|
12840
12842
|
}
|
|
12841
|
-
throw new excecoes_1.ErroEmTempoDeExecucao(esquerda, "Tipo de chamada inválida com 'em'.", expressao.linha);
|
|
12842
12843
|
}
|
|
12843
12844
|
// se um estado for verdadeiro, retorna verdadeiro
|
|
12844
12845
|
if (expressao.operador.tipo === delegua_1.default.OU) {
|
|
@@ -15787,9 +15788,9 @@ class LexadorPitugues {
|
|
|
15787
15788
|
this.analisarIndentacao();
|
|
15788
15789
|
}
|
|
15789
15790
|
}
|
|
15790
|
-
adicionarSimbolo(tipo, literal = null) {
|
|
15791
|
+
adicionarSimbolo(tipo, literal = null, linha = null) {
|
|
15791
15792
|
const texto = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
|
|
15792
|
-
this.simbolos.push(new simbolo_1.Simbolo(tipo, texto, literal, this.linha + 1, this.hashArquivo));
|
|
15793
|
+
this.simbolos.push(new simbolo_1.Simbolo(tipo, texto, literal, linha || this.linha + 1, this.hashArquivo));
|
|
15793
15794
|
}
|
|
15794
15795
|
simboloAtual() {
|
|
15795
15796
|
if (this.eFinalDaLinha())
|
|
@@ -15890,8 +15891,8 @@ class LexadorPitugues {
|
|
|
15890
15891
|
else {
|
|
15891
15892
|
textoPalavraChave = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
|
|
15892
15893
|
}
|
|
15893
|
-
const tipo = textoPalavraChave in pitugues_1.
|
|
15894
|
-
? pitugues_1.
|
|
15894
|
+
const tipo = textoPalavraChave in pitugues_1.palavrasReservadasPitugues
|
|
15895
|
+
? pitugues_1.palavrasReservadasPitugues[textoPalavraChave]
|
|
15895
15896
|
: pitugues_2.default.IDENTIFICADOR;
|
|
15896
15897
|
this.simbolos.push(new simbolo_1.Simbolo(tipo, textoPalavraChave, null, linhaPrimeiroCaracter + 1, this.hashArquivo));
|
|
15897
15898
|
}
|
|
@@ -15914,8 +15915,8 @@ class LexadorPitugues {
|
|
|
15914
15915
|
ultimoAtual = this.atual;
|
|
15915
15916
|
this.avancar();
|
|
15916
15917
|
}
|
|
15917
|
-
const conteudo = this.codigo[linhaAtual].substring(this.inicioSimbolo + 2, ultimoAtual);
|
|
15918
|
-
this.adicionarSimbolo(pitugues_2.default.COMENTARIO, conteudo.trim());
|
|
15918
|
+
const conteudo = this.codigo[linhaAtual].substring(this.inicioSimbolo + 2, ultimoAtual + 1);
|
|
15919
|
+
this.adicionarSimbolo(pitugues_2.default.COMENTARIO, conteudo.trim(), linhaAtual + 1);
|
|
15919
15920
|
}
|
|
15920
15921
|
avancarParaProximaLinha() {
|
|
15921
15922
|
this.linha++;
|
|
@@ -16867,14 +16868,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16867
16868
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16868
16869
|
};
|
|
16869
16870
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16870
|
-
exports.palavrasReservadasMicroGramatica = exports.
|
|
16871
|
+
exports.palavrasReservadasMicroGramatica = exports.palavrasReservadasPitugues = void 0;
|
|
16871
16872
|
const pitugues_1 = __importDefault(require("../../../tipos-de-simbolos/pitugues"));
|
|
16872
|
-
exports.
|
|
16873
|
+
exports.palavrasReservadasPitugues = {
|
|
16873
16874
|
cada: pitugues_1.default.CADA,
|
|
16874
16875
|
caso: pitugues_1.default.CASO,
|
|
16875
16876
|
classe: pitugues_1.default.CLASSE,
|
|
16876
16877
|
como: pitugues_1.default.COMO,
|
|
16877
16878
|
construtor: pitugues_1.default.CONSTRUTOR,
|
|
16879
|
+
contem: pitugues_1.default.CONTEM,
|
|
16880
|
+
contém: pitugues_1.default.CONTEM,
|
|
16878
16881
|
continua: pitugues_1.default.CONTINUA,
|
|
16879
16882
|
de: pitugues_1.default.DE,
|
|
16880
16883
|
e: pitugues_1.default.E,
|
|
@@ -16892,6 +16895,8 @@ exports.palavrasReservadas = {
|
|
|
16892
16895
|
imprima: pitugues_1.default.IMPRIMA,
|
|
16893
16896
|
isto: pitugues_1.default.ISTO,
|
|
16894
16897
|
leia: pitugues_1.default.LEIA,
|
|
16898
|
+
nao: pitugues_1.default.NAO,
|
|
16899
|
+
não: pitugues_1.default.NAO,
|
|
16895
16900
|
nulo: pitugues_1.default.NULO,
|
|
16896
16901
|
ou: pitugues_1.default.OU,
|
|
16897
16902
|
padrao: pitugues_1.default.PADRAO,
|
|
@@ -17409,8 +17414,8 @@ class Lexador {
|
|
|
17409
17414
|
this.avancar();
|
|
17410
17415
|
}
|
|
17411
17416
|
const codigo = this.codigo[this.linha].substring(this.inicioSimbolo, this.atual);
|
|
17412
|
-
const tipo = codigo in palavras_reservadas_1.
|
|
17413
|
-
? palavras_reservadas_1.
|
|
17417
|
+
const tipo = codigo in palavras_reservadas_1.palavrasReservadasDelegua
|
|
17418
|
+
? palavras_reservadas_1.palavrasReservadasDelegua[codigo]
|
|
17414
17419
|
: delegua_1.default.IDENTIFICADOR;
|
|
17415
17420
|
this.adicionarSimbolo(tipo);
|
|
17416
17421
|
}
|
|
@@ -17933,17 +17938,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17933
17938
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17934
17939
|
};
|
|
17935
17940
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17936
|
-
exports.palavrasReservadasMicroGramatica = exports.
|
|
17941
|
+
exports.palavrasReservadasMicroGramatica = exports.palavrasReservadasDelegua = void 0;
|
|
17937
17942
|
const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
|
|
17938
|
-
exports.
|
|
17943
|
+
exports.palavrasReservadasDelegua = {
|
|
17939
17944
|
cada: delegua_1.default.CADA,
|
|
17940
17945
|
caso: delegua_1.default.CASO,
|
|
17941
17946
|
classe: delegua_1.default.CLASSE,
|
|
17942
17947
|
como: delegua_1.default.COMO,
|
|
17943
17948
|
construtor: delegua_1.default.CONSTRUTOR,
|
|
17944
|
-
continua: delegua_1.default.CONTINUA,
|
|
17945
17949
|
constante: delegua_1.default.CONSTANTE,
|
|
17946
17950
|
const: delegua_1.default.CONSTANTE,
|
|
17951
|
+
contem: delegua_1.default.CONTEM,
|
|
17952
|
+
contém: delegua_1.default.CONTEM,
|
|
17953
|
+
continua: delegua_1.default.CONTINUA,
|
|
17947
17954
|
de: delegua_1.default.DE,
|
|
17948
17955
|
e: delegua_1.default.E,
|
|
17949
17956
|
em: delegua_1.default.EM,
|
|
@@ -17961,6 +17968,8 @@ exports.palavrasReservadas = {
|
|
|
17961
17968
|
importar: delegua_1.default.IMPORTAR,
|
|
17962
17969
|
isto: delegua_1.default.ISTO,
|
|
17963
17970
|
leia: delegua_1.default.LEIA,
|
|
17971
|
+
nao: delegua_1.default.NAO,
|
|
17972
|
+
não: delegua_1.default.NAO,
|
|
17964
17973
|
nulo: delegua_1.default.NULO,
|
|
17965
17974
|
ou: delegua_1.default.OU,
|
|
17966
17975
|
padrao: delegua_1.default.PADRAO,
|
|
@@ -18206,6 +18215,7 @@ exports.default = {
|
|
|
18206
18215
|
COMO: 'COMO',
|
|
18207
18216
|
CONSTANTE: 'CONSTANTE',
|
|
18208
18217
|
CONSTRUTOR: 'CONSTRUTOR',
|
|
18218
|
+
CONTEM: 'CONTEM',
|
|
18209
18219
|
CONTINUA: 'CONTINUA',
|
|
18210
18220
|
DE: 'DE',
|
|
18211
18221
|
DECREMENTAR: 'DECREMENTAR',
|
|
@@ -18252,6 +18262,7 @@ exports.default = {
|
|
|
18252
18262
|
MODULO_IGUAL: 'MODULO_IGUAL',
|
|
18253
18263
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
18254
18264
|
MULTIPLICACAO_IGUAL: 'MULTIPLICACAO_IGUAL',
|
|
18265
|
+
NAO: 'NAO',
|
|
18255
18266
|
NEGACAO: 'NEGACAO',
|
|
18256
18267
|
NULO: 'NULO',
|
|
18257
18268
|
NUMERO: 'NUMERO',
|
|
@@ -18392,6 +18403,7 @@ exports.default = {
|
|
|
18392
18403
|
CHAVE_ESQUERDA: 'CHAVE_ESQUERDA',
|
|
18393
18404
|
COLCHETE_DIREITO: 'COLCHETE_DIREITO',
|
|
18394
18405
|
COLCHETE_ESQUERDO: 'COLCHETE_ESQUERDO',
|
|
18406
|
+
CONTEM: 'CONTEM',
|
|
18395
18407
|
DECREMENTAR: 'DECREMENTAR',
|
|
18396
18408
|
DIFERENTE: 'DIFERENTE',
|
|
18397
18409
|
DIVISAO: 'DIVISAO',
|
|
@@ -18416,6 +18428,7 @@ exports.default = {
|
|
|
18416
18428
|
MENOR_MENOR: 'MENOR_MENOR',
|
|
18417
18429
|
MODULO: 'MODULO',
|
|
18418
18430
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
18431
|
+
NAO: 'NAO',
|
|
18419
18432
|
NEGACAO: 'NEGACAO',
|
|
18420
18433
|
NULO: 'NULO',
|
|
18421
18434
|
NUMERO: 'NUMERO',
|
|
@@ -18449,6 +18462,7 @@ exports.default = {
|
|
|
18449
18462
|
COMENTARIO: 'COMENTARIO',
|
|
18450
18463
|
COMO: 'COMO',
|
|
18451
18464
|
CONSTRUTOR: 'CONSTRUTOR',
|
|
18465
|
+
CONTEM: 'CONTEM',
|
|
18452
18466
|
CONTINUA: 'CONTINUA',
|
|
18453
18467
|
DE: 'DE',
|
|
18454
18468
|
DIFERENTE: 'DIFERENTE',
|
|
@@ -18485,6 +18499,7 @@ exports.default = {
|
|
|
18485
18499
|
MENOR_MENOR: 'MENOR_MENOR',
|
|
18486
18500
|
MODULO: 'MODULO',
|
|
18487
18501
|
MULTIPLICACAO: 'MULTIPLICACAO',
|
|
18502
|
+
NAO: 'NAO',
|
|
18488
18503
|
NEGACAO: 'NEGACAO',
|
|
18489
18504
|
NULO: 'NULO',
|
|
18490
18505
|
NUMERO: 'NUMERO',
|