@designliquido/delegua 0.20.16 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +1 -1
  2. package/bin/package.json +2 -6
  3. package/fontes/analisador-semantico/analisador-semantico.d.ts +2 -1
  4. package/fontes/analisador-semantico/analisador-semantico.js +3 -0
  5. package/fontes/analisador-semantico/analisador-semantico.js.map +1 -1
  6. package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +3 -1
  7. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +7 -1
  8. package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  9. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +5 -4
  10. package/fontes/avaliador-sintatico/avaliador-sintatico.js +69 -21
  11. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  12. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +3 -1
  13. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +6 -0
  14. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  15. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +3 -1
  16. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +6 -0
  17. package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
  18. package/fontes/construtos/index.d.ts +1 -0
  19. package/fontes/construtos/index.js +1 -0
  20. package/fontes/construtos/index.js.map +1 -1
  21. package/fontes/construtos/tipo-de.d.ts +10 -0
  22. package/fontes/construtos/tipo-de.js +16 -0
  23. package/fontes/construtos/tipo-de.js.map +1 -0
  24. package/fontes/interfaces/avaliador-sintatico-interface.d.ts +3 -1
  25. package/fontes/interfaces/visitante-comum-interface.d.ts +2 -1
  26. package/fontes/interpretador/dialetos/birl/interpretador-birl.d.ts +2 -1
  27. package/fontes/interpretador/dialetos/birl/interpretador-birl.js +3 -0
  28. package/fontes/interpretador/dialetos/birl/interpretador-birl.js.map +1 -1
  29. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +2 -1
  30. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +3 -0
  31. package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  32. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +2 -1
  33. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +3 -0
  34. package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  35. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +2 -1
  36. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +3 -0
  37. package/fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  38. package/fontes/interpretador/inferenciador.d.ts +1 -1
  39. package/fontes/interpretador/inferenciador.js +4 -0
  40. package/fontes/interpretador/inferenciador.js.map +1 -1
  41. package/fontes/interpretador/interpretador-base.d.ts +2 -1
  42. package/fontes/interpretador/interpretador-base.js +14 -3
  43. package/fontes/interpretador/interpretador-base.js.map +1 -1
  44. package/fontes/lexador/palavras-reservadas.d.ts +1 -0
  45. package/fontes/lexador/palavras-reservadas.js +1 -0
  46. package/fontes/lexador/palavras-reservadas.js.map +1 -1
  47. package/fontes/tipos-de-simbolos/comum.d.ts +1 -0
  48. package/fontes/tipos-de-simbolos/comum.js +1 -0
  49. package/fontes/tipos-de-simbolos/comum.js.map +1 -1
  50. package/fontes/tipos-de-simbolos/delegua.d.ts +1 -0
  51. package/fontes/tipos-de-simbolos/delegua.js +1 -0
  52. package/fontes/tipos-de-simbolos/delegua.js.map +1 -1
  53. package/fontes/tradutores/tradutor-javascript.d.ts +1 -1
  54. package/fontes/tradutores/tradutor-javascript.js +2 -2
  55. package/fontes/tradutores/tradutor-javascript.js.map +1 -1
  56. package/fontes/tradutores/tradutor-python.d.ts +48 -3
  57. package/fontes/tradutores/tradutor-python.js +328 -0
  58. package/fontes/tradutores/tradutor-python.js.map +1 -1
  59. package/package.json +2 -6
@@ -7,6 +7,7 @@ declare const _default: {
7
7
  EXPONENCIACAO: string;
8
8
  IDENTIFICADOR: string;
9
9
  IGUAL: string;
10
+ IGUAL_IGUAL: string;
10
11
  MAIOR: string;
11
12
  MAIOR_IGUAL: string;
12
13
  MENOR: string;
@@ -9,6 +9,7 @@ exports.default = {
9
9
  EXPONENCIACAO: 'EXPONENCIACAO',
10
10
  IDENTIFICADOR: 'IDENTIFICADOR',
11
11
  IGUAL: 'IGUAL',
12
+ IGUAL_IGUAL: 'IGUAL_IGUAL',
12
13
  MAIOR: 'MAIOR',
13
14
  MAIOR_IGUAL: 'MAIOR_IGUAL',
14
15
  MENOR: 'MENOR',
@@ -1 +1 @@
1
- {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/comum.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,CAAC,EAAE,GAAG;IACN,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,EAAE,EAAE,IAAI;IACR,iBAAiB,EAAE,mBAAmB;IACtC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACrB,CAAC"}
1
+ {"version":3,"file":"comum.js","sourceRoot":"","sources":["../../../fontes/tipos-de-simbolos/comum.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,CAAC,EAAE,GAAG;IACN,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,EAAE,EAAE,IAAI;IACR,iBAAiB,EAAE,mBAAmB;IACtC,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACrB,CAAC"}
@@ -77,6 +77,7 @@ declare const _default: {
77
77
  SUSTAR: string;
78
78
  TENTE: string;
79
79
  TEXTO: string;
80
+ TIPO: string;
80
81
  VARIAVEL: string;
81
82
  VERDADEIRO: string;
82
83
  VIRGULA: string;
@@ -79,6 +79,7 @@ exports.default = {
79
79
  SUSTAR: 'SUSTAR',
80
80
  TENTE: 'TENTE',
81
81
  TEXTO: 'TEXTO',
82
+ TIPO: 'TIPO',
82
83
  VARIAVEL: 'VARIAVEL',
83
84
  VERDADEIRO: 'VERDADEIRO',
84
85
  VIRGULA: 'VIRGULA',
@@ -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,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,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,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,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,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,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,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,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,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":";;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,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,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,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,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,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,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,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,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACrB,CAAC"}
@@ -78,9 +78,9 @@ export declare class TradutorJavaScript implements TradutorInterface {
78
78
  Leia: any;
79
79
  Para: any;
80
80
  ParaCada: any;
81
- Sustar: () => string;
82
81
  Retorna: any;
83
82
  Se: any;
83
+ Sustar: () => string;
84
84
  Tente: any;
85
85
  Var: any;
86
86
  };
@@ -47,9 +47,9 @@ class TradutorJavaScript {
47
47
  Leia: this.traduzirDeclaracaoLeia.bind(this),
48
48
  Para: this.traduzirDeclaracaoPara.bind(this),
49
49
  ParaCada: this.traduzirDeclaracaoParaCada.bind(this),
50
- Sustar: () => 'break',
51
50
  Retorna: this.traduzirDeclaracaoRetorna.bind(this),
52
51
  Se: this.traduzirDeclaracaoSe.bind(this),
52
+ Sustar: () => 'break',
53
53
  Tente: this.traduzirDeclaracaoTente.bind(this),
54
54
  Var: this.traduzirDeclaracaoVar.bind(this),
55
55
  };
@@ -340,7 +340,7 @@ class TradutorJavaScript {
340
340
  traduzirDeclaracaoPara(declaracaoPara) {
341
341
  let resultado = 'for (';
342
342
  resultado +=
343
- this.dicionarioDeclaracoes[declaracaoPara.inicializador.constructor.name](declaracaoPara.inicializador) +
343
+ this.dicionarioDeclaracoes[declaracaoPara.inicializador[0].constructor.name](declaracaoPara.inicializador[0]) +
344
344
  ' ';
345
345
  resultado += !resultado.includes(';') ? ';' : '';
346
346
  resultado +=
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-javascript.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-javascript.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-javascript.ts"],"names":[],"mappings":";;;;;;AAAA,8CAgBuB;AACvB,gDAmBwB;AAIxB,2EAA2D;AAE3D;;;;GAIG;AACH,MAAa,kBAAkB;IAA/B;QACI,eAAU,GAAW,CAAC,CAAC;QAujBvB,yBAAoB,GAAG;YACnB,oBAAoB,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,YAAY,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YACzD,mBAAmB,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzE,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,YAAY,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;YAClB,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;SAChD,CAAC;QAEF,0BAAqB,GAAG;YACpB,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,KAAK,EAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;YAC1B,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;YACtD,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7C,CAAC;IAaN,CAAC;IAvmBG,uBAAuB,CAAC,QAA0B;QAC9C,QAAQ,QAAQ,CAAC,IAAI,EAAE;YACnB,KAAK,iBAAe,CAAC,MAAM;gBACvB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,OAAO;gBACxB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,MAAM;gBACvB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,OAAO;gBACxB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,OAAO;gBACxB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,SAAS;gBAC1B,OAAO,KAAK,CAAC;YACjB,KAAK,iBAAe,CAAC,OAAO;gBACxB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC;YAChB,KAAK,iBAAe,CAAC,aAAa;gBAC9B,OAAO,IAAI,CAAC;YAChB,KAAK,iBAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,WAAW;gBAC5B,OAAO,KAAK,CAAC;YACjB,KAAK,iBAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,WAAW;gBAC5B,OAAO,IAAI,CAAC;YAChB,KAAK,iBAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,WAAW;gBAC5B,OAAO,IAAI,CAAC;YAChB,KAAK,iBAAe,CAAC,MAAM;gBACvB,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,aAAa;gBAC9B,OAAO,GAAG,CAAC;YACf,KAAK,iBAAe,CAAC,EAAE;gBACnB,OAAO,IAAI,CAAC;YAChB,KAAK,iBAAe,CAAC,SAAS;gBAC1B,OAAO,GAAG,CAAC;SAClB;IACL,CAAC;IAED,eAAe;IACf,sBAAsB,CAAC,MAAc;QACjC,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE;YAC1B,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU;gBACX,OAAO,MAAM,CAAC;YAClB,KAAK,YAAY;gBACb,OAAO,QAAQ,CAAA;YACnB,KAAK,QAAQ;gBACT,OAAO,OAAO,CAAC;YACnB,KAAK,QAAQ;gBACT,OAAO,UAAU,CAAC;YACtB,KAAK,UAAU;gBACX,OAAO,SAAS,CAAC;YACrB,KAAK,QAAQ;gBACT,OAAO,MAAM,CAAC;YAClB,KAAK,SAAS;gBACV,OAAO,MAAM,CAAC;YAClB,KAAK,iBAAiB;gBAClB,OAAO,OAAO,CAAC;YACnB,KAAK,eAAe;gBAChB,OAAO,KAAK,CAAC;YACjB,KAAK,SAAS;gBACV,OAAO,QAAQ,CAAC;YACpB,KAAK,WAAW;gBACZ,OAAO,aAAa,CAAC;YACzB,KAAK,WAAW;gBACZ,OAAO,aAAa,CAAC;YACzB,KAAK,YAAY;gBACb,OAAO,SAAS,CAAC;YACrB;gBACI,OAAO,MAAM,CAAC;SACrB;IACL,CAAC;IAED,4BAA4B,CAAC,WAAwB;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;IACzG,CAAC;IAED,yBAAyB,CAAC,QAAkB;QACxC,IAAI,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChG,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,OAAgB;QACrC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,aAAa;YACnD,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;;YACvG,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEjG,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,SAAS,IAAI,IAAI,QAAQ,GAAG,CAAC;QAE7B,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,aAAa;YAClD,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;;YACrG,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/F,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6BAA6B,CAAC,YAA0B;QACpD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,YAAY,CAAC,MAAM,YAAY,iBAAI,EAAE;YACrC,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SAC1D;QAED,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,OAAgB;QACrC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;QACnE,OAAO,OAAO,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,yBAAyB,CAAC,QAAkB;QACxC,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,wBAAwB,CAAC,OAAgB;QACrC,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAClF,OAAO,CAAC,eAAe,CAC1B,EAAE,CAAC;QAEJ,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,MAAM,MAAK,OAAO,CAAA,EAAA,CAAC,CAAC;QAChH,IAAI,eAAe,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0CAAE,MAAM,MAAK,OAAO,CAAA,EAAA,CAAC,CAAC;YACvG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAS,IAAI,OAAO,OAAO,EAAE,CAAC;SACxE;aAAM;YACH,SAAS,IAAI,OAAO,CAAC;SACxB;QACD,SAAS,IAAI,GAAG,CAAC;QACjB,KAAK,IAAI,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE;YACtC,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;SACxF;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QACD,SAAS,IAAI,GAAG,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sBAAsB,CAAC,WAAyB;QAC5C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QAErB,IAAI,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;YACpD,KAAK,MAAM,qBAAqB,IAAI,WAAW,EAAE;gBAC7C,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC9D,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;oBAC1D,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC;iBACjF;qBAAM;oBACH,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC;iBAClF;gBAED,SAAS,IAAI,IAAI,CAAC;aACrB;SACJ;QAED,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACjD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uBAAuB,CAAC,eAAsB;QAC1C,OAAO,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,0BAA0B,CAAC,YAA8B;QACrD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QAE/G,KAAK,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE;YAClD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7C;QACD,IAAI,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,SAAS,IAAI,IAAI,CAAC;QAClB,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAEhD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,gBAAwB;QAC7C,IAAI,SAAS,GAAG,eAAe,CAAC;QAEhC,IAAI,gBAAgB,CAAC,WAAW;YAC5B,SAAS,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,YAAY,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC;;YAC5G,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAE3D,KAAK,IAAI,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACzC,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SACxD;QAED,SAAS,IAAI,GAAG,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,0BAA0B,CAAC,kBAA4B;QACnD,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,SAAS;YACL,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAChH,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC7G,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,0BAA0B,CAAC,OAAuB;;QAC9C,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,EAAE;YAC5B,KAAK,IAAI,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;gBACpC,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAC9F,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC5C;SACJ;QACD,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,0CAAE,MAAM,EAAE;YAC9B,KAAK,IAAI,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE;gBACxC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,0CAAE,MAAM,MAAK,SAAS,EAAE;oBAChD,SAAS;wBACL,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAClG;gBACD,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC3F;YACD,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC7C,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC;SAC/B;QAED,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,yBAAyB,CAAC,iBAA0B;QAChD,IAAI,SAAS,GAAG,UAAU,CAAC;QAC3B,SAAS;YACL,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAChF,iBAAiB,CAAC,sBAAsB,CAC3C,GAAG,OAAO,CAAC;QAEhB,KAAK,IAAI,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE;YAC5C,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;SACzD;QAED,IAAI,iBAAiB,CAAC,aAAa,EAAE;YACjC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS,IAAI,YAAY,CAAC;YAC1B,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;SACjF;QAED,SAAS,IAAI,KAAK,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,yBAAyB,CAAC,iBAA0B;QAChD,IAAI,SAAS,GAAG,cAAc,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/E,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC;SAC7B;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,2BAA2B,CAAC,mBAA8B;QACtD,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACpH,CAAC;IAED,uBAAuB,CAAC,eAAsB;QAC1C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAClF,eAAe,CAAC,YAAY,CAC/B,CAAC;QACF,SAAS;YACL,SAAS;gBACT,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CACxE,eAAe,CAAC,gBAAgB,CACnC;gBACD,IAAI,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,gBAAkC;QACvD,IAAI,SAAS,GAAG,WAAW,CAAC;QAC5B,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE;YACxD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7C;QAED,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,SAAS,IAAI,IAAI,CAAC;QAElB,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,0BAA0B,CAAC,kBAA4B;QACnD,OAAO,4DAA4D,CAAC;IACxE,CAAC;IAED,sBAAsB,CAAC,cAAoB;QACvC,OAAO,yDAAyD,CAAC;IACrE,CAAC;IAED,0BAA0B,CAAC,kBAA4B;QACnD,IAAI,SAAS,GAAG,YAAY,kBAAkB,CAAC,oBAAoB,MAAM,CAAC;QAC1E,SAAS;YACL,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1G,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC7G,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sBAAsB,CAAC,cAAoB;QACvC,IAAI,SAAS,GAAG,OAAO,CAAC;QACxB,SAAS;YACL,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7G,GAAG,CAAC;QAER,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjD,SAAS;YACL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QACxG,SAAS;YACL,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAE9G,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrG,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,yBAAyB,CAAC,iBAA0B;QAChD,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QAChE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,oBAAoB,CAAC,YAAgB;QACjC,IAAI,SAAS,GAAG,MAAM,CAAC;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE1G,SAAS,IAAI,QAAQ,CAAC;QAEtB,SAAS,IAAI,GAAG,CAAC;QACjB,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAE/G,IAAI,YAAY,CAAC,YAAY,KAAK,IAAI,EAAE;YACpC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,SAAS,IAAI,OAAO,CAAC;YACrB,MAAM,EAAE,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAkB,CAAC;YAC5C,IAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,YAAY,EAAE;gBAClB,SAAS,IAAI,MAAM,CAAC;gBACpB,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAClF,SAAS,IAAI,GAAG,CAAC;gBACjB,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC3F,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,YAAY,EAAE;oBAClB,SAAS,IAAI,OAAO,CAAC;oBACrB,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;oBAC3F,OAAO,SAAS,CAAC;iBACpB;aACJ;YAED,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAC/E,YAAY,CAAC,YAAY,CAC5B,CAAC;SACL;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uBAAuB,CAAC,eAAsB;QAC1C,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,KAAK,IAAI,QAAQ,IAAI,eAAe,CAAC,YAAY,EAAE;YAC/C,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpF,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5C;QACD,SAAS,IAAI,GAAG,CAAC;QAEjB,IAAI,eAAe,CAAC,YAAY,KAAK,IAAI,EAAE;YACvC,SAAS,IAAI,aAAa,CAAC;YAC3B,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;gBAC7C,KAAK,IAAI,UAAU,IAAI,eAAe,CAAC,YAAY,EAAE;oBACjD,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;iBAC3F;aACJ;iBAAM;gBACH,KAAK,IAAI,KAAK,IAAI,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE;oBAClD,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;iBACjF;aACJ;YAED,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,SAAS,IAAI,GAAG,CAAC;SACpB;QACD,IAAI,eAAe,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAC5C,SAAS,IAAI,eAAe,CAAC;YAC7B,KAAK,IAAI,UAAU,IAAI,eAAe,CAAC,iBAAiB,EAAE;gBACtD,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC3F;YACD,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,SAAS,IAAI,GAAG,CAAC;SACpB;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uBAAuB,CAAC,eAAsB;QAC1C,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,SAAS,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,CAAA;YAAE,SAAS,IAAI,GAAG,CAAC;aACjD;YACD,SAAS,IAAI,KAAK,CAAC;YACnB,IAAI,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC3E,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAClF,eAAe,CAAC,aAAa,CAChC,CAAC;aACL;iBAAM;gBACH,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CACnF,eAAe,CAAC,aAAa,CAChC,CAAC;aACL;YACD,SAAS,IAAI,GAAG,CAAC;SACpB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,qBAAqB,CAAC,aAAkB;QACpC,IAAI,SAAS,GAAG,MAAM,CAAC;QACvB,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAA;YAAE,SAAS,IAAI,GAAG,CAAC;aAC/C;YACD,SAAS,IAAI,KAAK,CAAC;YACnB,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBACzE,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAChF,aAAa,CAAC,aAAa,CAC9B,CAAC;aACL;iBAAM;gBACH,SAAS,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CACjF,aAAa,CAAC,aAAa,CAC9B,CAAC;aACL;YACD,SAAS,IAAI,GAAG,CAAC;SACpB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6BAA6B,CAAC,YAA0B;QACpD,IAAI,YAAY,CAAC,MAAM,YAAY,qBAAQ,EAAE;YACzC,IAAI,cAAc,GAAG,YAAY,CAAC,MAAkB,CAAC;YACrD,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;SACzG;QACD,OAAO,QAAQ,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IAED,uBAAuB,CAAC,eAAgC;QACpD,IAAI,SAAS,GAAG,WAAW,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,UAAU,EAAE;YAChD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SAC7C;QAED,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,SAAS,IAAI,IAAI,CAAC;QAElB,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uBAAuB,CAAC,MAAc;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzF,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5F,OAAO,GAAG,OAAO,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,oCAAoC,CAAC,mBAAwC;;QACzE,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,SAAS,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QAC7D,SAAS;YACL,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAClG,GAAG,CAAC;QACR,SAAS,IAAI,KAAK,CAAC;QAEnB,IAAI,MAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO,0CAAE,MAAM,EAAE;YAC7C,SAAS,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;SAC9D;aAAM;YACH,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAC9E,mBAAmB,CAAC,KAAK,CAC5B,CAAC;SACL;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,4BAA4B,CAAC,oBAA0C;QACnE,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CACzF,oBAAoB,CAAC,eAAe,CACvC,CAAC;QACF,SAAS,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACpF,oBAAoB,CAAC,MAAM,CAC9B,GAAG,CAAC;QAEL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sBAAsB,CAAC,KAAY;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;YACvB,OAAO,IAAI,CAAC;SACf;QAED,IAAI,SAAS,GAAG,GAAG,CAAC;QAEpB,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC7B,SAAS,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;SAChF;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACtC;QAED,SAAS,IAAI,GAAG,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uBAAuB,CAAC,MAAc;;QAClC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAe,CAAC,WAAW,EAAE,iBAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3F,SAAS,IAAI,MAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YACrE,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;SACnF;aAAM;YACH,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,SAAS,IAAI,MAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;SACxE;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IA0CD,QAAQ,CAAC,WAAyB;QAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,oBAAM,CAAa,CAAC;QAEzG,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,SAAS,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;SAC5F;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA3mBD,gDA2mBC"}
@@ -1,16 +1,61 @@
1
- import { Literal } from "../construtos";
2
- import { Declaracao, Escreva, Leia } from "../declaracoes";
3
- import { TradutorInterface } from "../interfaces";
1
+ import { AcessoMetodo, Agrupamento, Atribuir, Binario, Chamada, DefinirValor, Literal, Logico, Variavel, Vetor } from "../construtos";
2
+ import { Bloco, Classe, Const, Declaracao, Escreva, Expressao, FuncaoDeclaracao, Leia, ParaCada, Retorna, Se, Tente, Var } from "../declaracoes";
3
+ import { SimboloInterface, TradutorInterface } from "../interfaces";
4
4
  export declare class TradutorPython implements TradutorInterface {
5
+ indentacao: number;
6
+ traduzirNomeVariavel(variavel: string): string;
7
+ traduzirSimboloOperador(operador: SimboloInterface): string;
8
+ logicaComumBlocoEscopo(declaracoes: Declaracao[]): string;
9
+ traduzirDeclaracaoTente(declaracaoTente: Tente): string;
10
+ traduzirConstrutoLogico(logico: Logico): string;
5
11
  traduzirConstrutoLiteral(literal: Literal): string;
12
+ trazudirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo): string;
6
13
  traduzirDeclaracaoEscreva(declaracaoEscreva: Escreva): string;
7
14
  traduzirDeclaracaoLeia(declaracaoLeia: Leia): string;
15
+ traduzirConstrutoBinario(binario: Binario): string;
16
+ traduzirDeclaracaoFuncao(declaracaoFuncao: FuncaoDeclaracao): string;
17
+ traduzirDeclaracaoSe(declaracaoSe: Se): string;
18
+ logicaTraducaoMetodoClasse(metodoClasse: FuncaoDeclaracao): string;
19
+ traduzirDeclaracaoClasse(declaracaoClasse: Classe): string;
20
+ traduzirConstrutoChamada(chamada: Chamada): string;
21
+ traduzirDeclaracaoRetorna(declaracaoRetorna: Retorna): string;
22
+ traduzirConstrutoVetor(vetor: Vetor): string;
23
+ traduzirConstrutoDefinirValor(definirValor: DefinirValor): string;
24
+ traduzirDeclaracaoVar(declaracaoVar: Var): string;
25
+ traduzirDeclaracaoConst(declaracaoConst: Const): string;
26
+ traduzirDeclaracaoParaCada(declaracaoParaCada: ParaCada): string;
27
+ traduzirConstrutoAtribuir(atribuir: Atribuir): string;
28
+ traduzirConstrutoVariavel(variavel: Variavel): string;
29
+ traduzirDeclaracaoExpressao(declaracaoExpressao: Expressao): string;
30
+ traduzirDeclaracaoBloco(declaracaoBloco: Bloco): string;
31
+ traduzirConstrutoAgrupamento(agrupamento: Agrupamento): string;
8
32
  dicionarioConstrutos: {
33
+ AcessoMetodo: any;
34
+ Agrupamento: any;
35
+ Atribuir: any;
36
+ Binario: any;
37
+ Chamada: any;
38
+ DefinirValor: any;
9
39
  Literal: any;
40
+ Logico: any;
41
+ Variavel: any;
42
+ Vetor: any;
10
43
  };
11
44
  dicionarioDeclaracoes: {
45
+ Bloco: any;
46
+ Classe: any;
47
+ Const: any;
48
+ Continua: () => string;
12
49
  Escreva: any;
50
+ Expressao: any;
51
+ FuncaoDeclaracao: any;
13
52
  Leia: any;
53
+ ParaCada: any;
54
+ Retorna: any;
55
+ Se: any;
56
+ Sustar: () => string;
57
+ Tente: any;
58
+ Var: any;
14
59
  };
15
60
  traduzir(declaracoes: Declaracao[]): string;
16
61
  }
@@ -1,21 +1,163 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TradutorPython = void 0;
7
+ const construtos_1 = require("../construtos");
8
+ const delegua_1 = __importDefault(require("../tipos-de-simbolos/delegua"));
4
9
  class TradutorPython {
5
10
  constructor() {
11
+ this.indentacao = 0;
6
12
  this.dicionarioConstrutos = {
13
+ AcessoMetodo: this.trazudirConstrutoAcessoMetodo.bind(this),
14
+ Agrupamento: this.traduzirConstrutoAgrupamento.bind(this),
15
+ Atribuir: this.traduzirConstrutoAtribuir.bind(this),
16
+ Binario: this.traduzirConstrutoBinario.bind(this),
17
+ Chamada: this.traduzirConstrutoChamada.bind(this),
18
+ DefinirValor: this.traduzirConstrutoDefinirValor.bind(this),
7
19
  Literal: this.traduzirConstrutoLiteral.bind(this),
20
+ Logico: this.traduzirConstrutoLogico.bind(this),
21
+ Variavel: this.traduzirConstrutoVariavel.bind(this),
22
+ Vetor: this.traduzirConstrutoVetor.bind(this),
8
23
  };
9
24
  this.dicionarioDeclaracoes = {
25
+ Bloco: this.traduzirDeclaracaoBloco.bind(this),
26
+ Classe: this.traduzirDeclaracaoClasse.bind(this),
27
+ Const: this.traduzirDeclaracaoConst.bind(this),
28
+ Continua: () => 'continue',
10
29
  Escreva: this.traduzirDeclaracaoEscreva.bind(this),
30
+ Expressao: this.traduzirDeclaracaoExpressao.bind(this),
31
+ FuncaoDeclaracao: this.traduzirDeclaracaoFuncao.bind(this),
11
32
  Leia: this.traduzirDeclaracaoLeia.bind(this),
33
+ ParaCada: this.traduzirDeclaracaoParaCada.bind(this),
34
+ Retorna: this.traduzirDeclaracaoRetorna.bind(this),
35
+ Se: this.traduzirDeclaracaoSe.bind(this),
36
+ Sustar: () => 'break',
37
+ Tente: this.traduzirDeclaracaoTente.bind(this),
38
+ Var: this.traduzirDeclaracaoVar.bind(this),
12
39
  };
13
40
  }
41
+ traduzirNomeVariavel(variavel) {
42
+ return variavel.replace(/\.?([A-Z]+)/g, (x, y) => "_" + y.toLowerCase()).replace(/^_/, "");
43
+ }
44
+ traduzirSimboloOperador(operador) {
45
+ switch (operador.tipo) {
46
+ case delegua_1.default.ADICAO:
47
+ return '+';
48
+ case delegua_1.default.BIT_AND:
49
+ return '&';
50
+ case delegua_1.default.BIT_OR:
51
+ return '|';
52
+ case delegua_1.default.BIT_XOR:
53
+ return '^';
54
+ case delegua_1.default.BIT_NOT:
55
+ return '~';
56
+ case delegua_1.default.DIFERENTE:
57
+ return '!=';
58
+ case delegua_1.default.DIVISAO:
59
+ return '/';
60
+ case delegua_1.default.E:
61
+ return 'and';
62
+ case delegua_1.default.EXPONENCIACAO:
63
+ return '**';
64
+ case delegua_1.default.IGUAL:
65
+ return '=';
66
+ case delegua_1.default.IGUAL_IGUAL:
67
+ return '==';
68
+ case delegua_1.default.MAIOR:
69
+ return '>';
70
+ case delegua_1.default.MAIOR_IGUAL:
71
+ return '>=';
72
+ case delegua_1.default.MENOR:
73
+ return '<';
74
+ case delegua_1.default.MENOR_IGUAL:
75
+ return '<=';
76
+ case delegua_1.default.MODULO:
77
+ return '%';
78
+ case delegua_1.default.MULTIPLICACAO:
79
+ return '*';
80
+ case delegua_1.default.OU:
81
+ return 'or';
82
+ case delegua_1.default.SUBTRACAO:
83
+ return '-';
84
+ }
85
+ }
86
+ logicaComumBlocoEscopo(declaracoes) {
87
+ let resultado = '';
88
+ this.indentacao += 4;
89
+ if (typeof declaracoes[Symbol.iterator] === 'function') {
90
+ for (const declaracaoOuConstruto of declaracoes) {
91
+ resultado += ' '.repeat(this.indentacao);
92
+ const nomeConstrutor = declaracaoOuConstruto.constructor.name;
93
+ if (this.dicionarioConstrutos.hasOwnProperty(nomeConstrutor)) {
94
+ resultado += this.dicionarioConstrutos[nomeConstrutor](declaracaoOuConstruto);
95
+ }
96
+ else {
97
+ resultado += this.dicionarioDeclaracoes[nomeConstrutor](declaracaoOuConstruto);
98
+ }
99
+ resultado += '\n';
100
+ }
101
+ }
102
+ this.indentacao -= 4;
103
+ resultado += ' '.repeat(this.indentacao) + '\n';
104
+ return resultado;
105
+ }
106
+ traduzirDeclaracaoTente(declaracaoTente) {
107
+ let resultado = 'try:\n';
108
+ this.indentacao += 4;
109
+ resultado += ' '.repeat(this.indentacao);
110
+ for (let condicao of declaracaoTente.caminhoTente) {
111
+ resultado += this.dicionarioDeclaracoes[condicao.constructor.name](condicao) + '\n';
112
+ resultado += ' '.repeat(this.indentacao);
113
+ }
114
+ if (declaracaoTente.caminhoPegue !== null) {
115
+ resultado += '\nexcept:\n';
116
+ resultado += ' '.repeat(this.indentacao);
117
+ if (Array.isArray(declaracaoTente.caminhoPegue)) {
118
+ for (let declaracao of declaracaoTente.caminhoPegue) {
119
+ resultado += this.dicionarioDeclaracoes[declaracao.constructor.name](declaracao) + '\n';
120
+ }
121
+ }
122
+ else {
123
+ for (let corpo of declaracaoTente.caminhoPegue.corpo) {
124
+ resultado += this.dicionarioDeclaracoes[corpo.constructor.name](corpo) + '\n';
125
+ }
126
+ }
127
+ resultado += ' '.repeat(this.indentacao);
128
+ }
129
+ if (declaracaoTente.caminhoFinalmente !== null) {
130
+ resultado += '\nfinally:\n';
131
+ resultado += ' '.repeat(this.indentacao);
132
+ for (let finalmente of declaracaoTente.caminhoFinalmente) {
133
+ resultado += this.dicionarioDeclaracoes[finalmente.constructor.name](finalmente) + '\n';
134
+ }
135
+ }
136
+ return resultado;
137
+ }
138
+ traduzirConstrutoLogico(logico) {
139
+ let direita = this.dicionarioConstrutos[logico.direita.constructor.name](logico.direita);
140
+ let operador = this.traduzirSimboloOperador(logico.operador);
141
+ let esquerda = this.dicionarioConstrutos[logico.esquerda.constructor.name](logico.esquerda);
142
+ return `${esquerda} ${operador} ${direita}`;
143
+ }
14
144
  traduzirConstrutoLiteral(literal) {
15
145
  if (typeof literal.valor === 'string')
16
146
  return `'${literal.valor}'`;
147
+ if (typeof literal.valor === 'boolean') {
148
+ return literal.valor ? 'True' : 'False';
149
+ }
150
+ if (!literal.valor)
151
+ return 'None';
17
152
  return literal.valor;
18
153
  }
154
+ trazudirConstrutoAcessoMetodo(acessoMetodo) {
155
+ if (acessoMetodo.objeto instanceof construtos_1.Variavel) {
156
+ let objetoVariavel = acessoMetodo.objeto;
157
+ return `${objetoVariavel.simbolo.lexema}.${acessoMetodo.simbolo.lexema}`;
158
+ }
159
+ return `self.${acessoMetodo.simbolo.lexema}`;
160
+ }
19
161
  traduzirDeclaracaoEscreva(declaracaoEscreva) {
20
162
  let resultado = 'print(';
21
163
  for (const argumento of declaracaoEscreva.argumentos) {
@@ -36,6 +178,192 @@ class TradutorPython {
36
178
  resultado += ')';
37
179
  return resultado;
38
180
  }
181
+ traduzirConstrutoBinario(binario) {
182
+ let resultado = '';
183
+ if (binario.esquerda.constructor.name === 'Agrupamento')
184
+ resultado += '(' + this.dicionarioConstrutos[binario.esquerda.constructor.name](binario.esquerda) + ')';
185
+ else
186
+ resultado += this.dicionarioConstrutos[binario.esquerda.constructor.name](binario.esquerda);
187
+ let operador = this.traduzirSimboloOperador(binario.operador);
188
+ resultado += ` ${operador} `;
189
+ if (binario.direita.constructor.name === 'Agrupamento')
190
+ resultado += '(' + this.dicionarioConstrutos[binario.direita.constructor.name](binario.direita) + ')';
191
+ else
192
+ resultado += this.dicionarioConstrutos[binario.direita.constructor.name](binario.direita);
193
+ return resultado;
194
+ }
195
+ traduzirDeclaracaoFuncao(declaracaoFuncao) {
196
+ let resultado = 'def ';
197
+ resultado += declaracaoFuncao.simbolo.lexema + '(';
198
+ for (const parametro of declaracaoFuncao.funcao.parametros) {
199
+ resultado += parametro.nome.lexema + ', ';
200
+ }
201
+ if (declaracaoFuncao.funcao.parametros.length > 0) {
202
+ resultado = resultado.slice(0, -2);
203
+ }
204
+ resultado += '):';
205
+ resultado += this.logicaComumBlocoEscopo(declaracaoFuncao.funcao.corpo);
206
+ return resultado;
207
+ }
208
+ traduzirDeclaracaoSe(declaracaoSe) {
209
+ let resultado = 'if ';
210
+ const condicao = this.dicionarioConstrutos[declaracaoSe.condicao.constructor.name](declaracaoSe.condicao);
211
+ resultado += condicao;
212
+ resultado += ':\n';
213
+ resultado += this.dicionarioDeclaracoes[declaracaoSe.caminhoEntao.constructor.name](declaracaoSe.caminhoEntao);
214
+ if (declaracaoSe.caminhoSenao !== null) {
215
+ resultado += ' '.repeat(this.indentacao);
216
+ const se = declaracaoSe === null || declaracaoSe === void 0 ? void 0 : declaracaoSe.caminhoSenao;
217
+ if (se === null || se === void 0 ? void 0 : se.caminhoEntao) {
218
+ resultado += 'elif ';
219
+ resultado += this.dicionarioConstrutos[se.condicao.constructor.name](se.condicao);
220
+ resultado += ':\n';
221
+ resultado += this.dicionarioDeclaracoes[se.caminhoEntao.constructor.name](se.caminhoEntao);
222
+ resultado += ' '.repeat(this.indentacao);
223
+ if (se === null || se === void 0 ? void 0 : se.caminhoSenao) {
224
+ resultado += 'else:\n';
225
+ resultado += this.dicionarioDeclaracoes[se.caminhoSenao.constructor.name](se.caminhoSenao);
226
+ return resultado;
227
+ }
228
+ }
229
+ else {
230
+ resultado += 'else:\n';
231
+ }
232
+ resultado += this.dicionarioDeclaracoes[declaracaoSe.caminhoSenao.constructor.name](declaracaoSe.caminhoSenao);
233
+ }
234
+ return resultado;
235
+ }
236
+ logicaTraducaoMetodoClasse(metodoClasse) {
237
+ this.indentacao += 4;
238
+ let resultado = ' '.repeat(this.indentacao);
239
+ let temContrutor = metodoClasse.simbolo.lexema === 'construtor';
240
+ resultado += temContrutor ? 'def __init__(' : 'def ' + metodoClasse.simbolo.lexema + '(';
241
+ let temParametros = metodoClasse.funcao.parametros.length;
242
+ resultado += temParametros ? 'self, ' : 'self';
243
+ for (let parametro of metodoClasse.funcao.parametros) {
244
+ resultado += parametro.nome.lexema + ', ';
245
+ }
246
+ if (metodoClasse.funcao.parametros.length > 0) {
247
+ resultado = resultado.slice(0, -2);
248
+ }
249
+ resultado += '):\n';
250
+ resultado += this.logicaComumBlocoEscopo(metodoClasse.funcao.corpo);
251
+ resultado += ' '.repeat(this.indentacao) + '\n';
252
+ this.indentacao -= 4;
253
+ return resultado;
254
+ }
255
+ traduzirDeclaracaoClasse(declaracaoClasse) {
256
+ let resultado = 'class ';
257
+ if (declaracaoClasse.superClasse)
258
+ resultado += `${declaracaoClasse.simbolo.lexema} extends ${declaracaoClasse.superClasse.simbolo.lexema} {\n`;
259
+ else
260
+ resultado += declaracaoClasse.simbolo.lexema + ':\n';
261
+ for (let metodo of declaracaoClasse.metodos) {
262
+ resultado += this.logicaTraducaoMetodoClasse(metodo);
263
+ }
264
+ return resultado;
265
+ }
266
+ traduzirConstrutoChamada(chamada) {
267
+ let resultado = '';
268
+ const retorno = `${this.dicionarioConstrutos[chamada.entidadeChamada.constructor.name](chamada.entidadeChamada)}`;
269
+ resultado += retorno;
270
+ resultado += '(';
271
+ for (let parametro of chamada.argumentos) {
272
+ resultado += this.dicionarioConstrutos[parametro.constructor.name](parametro) + ', ';
273
+ }
274
+ if (chamada.argumentos.length > 0) {
275
+ resultado = resultado.slice(0, -2);
276
+ }
277
+ resultado += ')';
278
+ return resultado;
279
+ }
280
+ traduzirDeclaracaoRetorna(declaracaoRetorna) {
281
+ let resultado = 'return ';
282
+ const nomeConstrutor = declaracaoRetorna.valor.constructor.name;
283
+ return (resultado += this.dicionarioConstrutos[nomeConstrutor](declaracaoRetorna === null || declaracaoRetorna === void 0 ? void 0 : declaracaoRetorna.valor));
284
+ }
285
+ traduzirConstrutoVetor(vetor) {
286
+ if (!vetor.valores.length) {
287
+ return '[]';
288
+ }
289
+ let resultado = '[';
290
+ for (let valor of vetor.valores) {
291
+ resultado += `${this.dicionarioConstrutos[valor.constructor.name](valor)}, `;
292
+ }
293
+ if (vetor.valores.length > 0) {
294
+ resultado = resultado.slice(0, -2);
295
+ }
296
+ resultado += ']';
297
+ return resultado;
298
+ }
299
+ traduzirConstrutoDefinirValor(definirValor) {
300
+ let resultado = '';
301
+ if (definirValor.objeto instanceof construtos_1.Isto) {
302
+ resultado = 'self.' + definirValor.nome.lexema + ' = ';
303
+ }
304
+ resultado += definirValor.valor.simbolo.lexema;
305
+ return resultado;
306
+ }
307
+ traduzirDeclaracaoVar(declaracaoVar) {
308
+ let resultado = '';
309
+ resultado += this.traduzirNomeVariavel(declaracaoVar.simbolo.lexema);
310
+ resultado += ' = ';
311
+ const inicializador = declaracaoVar.inicializador;
312
+ if (inicializador) {
313
+ if (this.dicionarioConstrutos[inicializador.constructor.name]) {
314
+ resultado += this.dicionarioConstrutos[declaracaoVar.inicializador.constructor.name](declaracaoVar.inicializador);
315
+ }
316
+ else {
317
+ resultado += this.dicionarioDeclaracoes[declaracaoVar.inicializador.constructor.name](declaracaoVar.inicializador);
318
+ }
319
+ }
320
+ else {
321
+ resultado += "None";
322
+ }
323
+ return resultado;
324
+ }
325
+ traduzirDeclaracaoConst(declaracaoConst) {
326
+ let resultado = '';
327
+ resultado += this.traduzirNomeVariavel(declaracaoConst.simbolo.lexema);
328
+ resultado += ' = ';
329
+ const inicializador = declaracaoConst.inicializador;
330
+ if (inicializador) {
331
+ if (this.dicionarioConstrutos[inicializador.constructor.name]) {
332
+ resultado += this.dicionarioConstrutos[declaracaoConst.inicializador.constructor.name](declaracaoConst.inicializador);
333
+ }
334
+ else {
335
+ resultado += this.dicionarioDeclaracoes[declaracaoConst.inicializador.constructor.name](declaracaoConst.inicializador);
336
+ }
337
+ }
338
+ else {
339
+ resultado += 'None';
340
+ }
341
+ return resultado;
342
+ }
343
+ traduzirDeclaracaoParaCada(declaracaoParaCada) {
344
+ let resultado = `for ${declaracaoParaCada.nomeVariavelIteracao} in `;
345
+ resultado +=
346
+ this.dicionarioConstrutos[declaracaoParaCada.vetor.constructor.name](declaracaoParaCada.vetor) + ":\n";
347
+ resultado += this.dicionarioDeclaracoes[declaracaoParaCada.corpo.constructor.name](declaracaoParaCada.corpo);
348
+ return resultado;
349
+ }
350
+ traduzirConstrutoAtribuir(atribuir) {
351
+ let resultado = atribuir.simbolo.lexema;
352
+ resultado += ' = ' + this.dicionarioConstrutos[atribuir.valor.constructor.name](atribuir.valor);
353
+ return resultado;
354
+ }
355
+ traduzirConstrutoVariavel(variavel) {
356
+ return variavel.simbolo.lexema;
357
+ }
358
+ traduzirDeclaracaoExpressao(declaracaoExpressao) {
359
+ return this.dicionarioConstrutos[declaracaoExpressao.expressao.constructor.name](declaracaoExpressao.expressao);
360
+ }
361
+ traduzirDeclaracaoBloco(declaracaoBloco) {
362
+ return this.logicaComumBlocoEscopo(declaracaoBloco.declaracoes);
363
+ }
364
+ traduzirConstrutoAgrupamento(agrupamento) {
365
+ return this.dicionarioConstrutos[agrupamento.constructor.name](agrupamento.expressao || agrupamento);
366
+ }
39
367
  traduzir(declaracoes) {
40
368
  let resultado = '';
41
369
  for (const declaracao of declaracoes) {
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-python.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-python.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAA3B;QA+BI,yBAAoB,GAAG;YACnB,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;SACpD,CAAA;QAED,0BAAqB,GAAG;YACpB,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/C,CAAA;IAWL,CAAC;IAhDG,wBAAwB,CAAC,OAAgB;QACrC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;QACnE,OAAO,OAAO,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,yBAAyB,CAAC,iBAA0B;QAChD,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/E,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC;SAC7B;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QACjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sBAAsB,CAAC,cAAoB;QACvC,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,UAAU,EAAE;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/E,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC;SAC7B;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAWD,QAAQ,CAAC,WAAyB;QAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,SAAS,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;SAC5F;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAjDD,wCAiDC"}
1
+ {"version":3,"file":"tradutor-python.js","sourceRoot":"","sources":["../../../fontes/tradutores/tradutor-python.ts"],"names":[],"mappings":"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"}