Преглед изворни кода

Update vcat lib with LanguageService export

Lucas de Souza пре 1 година
родитељ
комит
e3f71cdfd0
3 измењених фајлова са 10 додато и 7 уклоњено
  1. 7 5
      src/app/vcat/vcat.component.ts
  2. 2 1
      vcat/main.js
  3. 1 1
      vcat/main.js.map

+ 7 - 5
src/app/vcat/vcat.component.ts

@@ -24,7 +24,7 @@ export class VcatComponent {
 
   public run (): void {
     try {
-      console.log(vcat)
+      vcat.LanguageService.setLang("pt");
       const ast = vcat.SemanticAnalyser.analyseFromSource(this.textCode);
       const proc = new vcat.IVProgProcessor(ast);
       // Registrando um objeto que fornece o minimo necessário para o processador
@@ -32,12 +32,12 @@ export class VcatComponent {
       proc.registerOutput({
         sendOutput: console.log,
       });
-      // IVProgProcessor.interpretAST é uma função assíncrona
+      
       // Ela devolve o estado final do programa (valores finais das variáveis declaradas dentro da função "inicio" ou no escopo global)
       // A classe Store em src/processor/store/store.ts descreve o parametro mas no contexto atual ele é totalmente irrelevante
       proc.interpretAST().then((_finalProgramState: any) => {
         console.log("Programa executado com sucesso!")
-      });
+      }).catch(console.error);
     } catch (error: any) {
       // Caso haja erro de sintaxe ou semântico, antes ou durante a interpretação do código uma exceção será lançada
       // Todo objeto error derivado dos erros citados acima possuem esses campos definidos
@@ -46,10 +46,12 @@ export class VcatComponent {
       // Vê: src/ast/error/syntaxError.js, src/processor/error/runtimeError.js, src/processor/error/semanticError.js e seus respectivos factories
       // NOTA: Em alguns casos a informação de linha e coluna podem nao estar disponivel
       // id representa o identificador unico do erro, linha e coluna onde no codigo textual ocorreu o problema
-      if (error.id && error.context)
+      if (error.id && error.context) {
         console.error(error.id, error.context.line, error.context.column);
-      else
+        console.error(error);
+      } else {
         console.error(error)
+      }
       // a linha e coluna foi a estrategia pensada para poder associar o erro com o elemento visual que o gerou
       // uma vez que seria possivel associar seções do texto com o elemento que o gerou
     }

Разлика између датотеке није приказан због своје велике величине
+ 2 - 1
vcat/main.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
vcat/main.js.map