Skip to content

Commit

Permalink
Atualizar o antlr4ts -> antlr4ng e mover a transpilação e checagem do…
Browse files Browse the repository at this point in the history
… código para um web worker
  • Loading branch information
dgadelha committed Mar 8, 2024
1 parent 94ddd33 commit 0a37514
Show file tree
Hide file tree
Showing 72 changed files with 13,428 additions and 14,100 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,15 @@ Baseado no Portugol Studio, o **Portugol Webstudio** tenta trazer todo ambiente

## Estrutura do projeto

O Portugol Webstudio é um projeto que utiliza o framework [Angular](https://angular.io/), [RxJS](https://rxjs.dev/) e [antlr4ts](https://github.com/tunnelvisionlabs/antlr4ts). Ele é dividido em 6 pacotes (disponíveis na pasta `packages`):
O Portugol Webstudio é um projeto que utiliza o framework [Angular](https://angular.io/), [RxJS](https://rxjs.dev/) e [antlr4ng](https://github.com/mike-lischke/antlr4ng). Ele é dividido em 7 pacotes (disponíveis na pasta `packages`):

- `@portugol-webstudio/antlr`: Pacote que contém a gramática do Portugol e a geração do parser, lexer e visitor
- `@portugol-webstudio/ide`: Pacote que contém a interface do usuário
- `@portugol-webstudio/parser`: Pacote que contém o novo parser do Portugol, que recebe uma árvore pré-processada pelo ANTLR e a transforma em uma árvore semântica
- `@portugol-webstudio/resources`: Pacote que contém os recursos do Portugol, como os exemplos e a seção de ajuda
- `@portugol-webstudio/runner`: Pacote que executa o código gerado pelo transpilador em Web Workers, tratando entrada, saída, erros e eventos.
- `@portugol-webstudio/runtime`: Pacote que contém o transpilador de Portugol para JavaScript e o código de execução em _runtime_ necessário: variáveis, bibliotecas, etc.
- `@portugol-webstudio/worker`: Pacote que contém o código que será executado em Web Workers, que é responsável por receber o código do Portugol, e executar a verificação de erros e transpilação do código em uma _thread_ separada.

## Executando o código localmente

Expand Down Expand Up @@ -67,7 +68,7 @@ Após isto, você poderá acessar a IDE em: [http://localhost:4200](http://local
## Licença

Portugol Webstudio - IDE online para o Portugol
Copyright (C) 2023 Douglas Gadêlha, Danilo Gadêlha e contribuidores
Copyright (C) 2024 Douglas Gadêlha, Danilo Gadêlha e contribuidores

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
7 changes: 6 additions & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"builder": "ngx-build-plus:browser",
"options": {
"plugin": "~angular-build-plugin.cjs",
"allowedCommonJsDependencies": ["antlr4ts", "text-encoding"],
"allowedCommonJsDependencies": ["antlr4ng", "text-encoding"],
"outputPath": "packages/ide/dist",
"index": "packages/ide/src/index.html",
"main": "packages/ide/src/main.ts",
Expand All @@ -60,6 +60,11 @@
"input": "node_modules/@portugol-webstudio/resources/assets",
"output": "assets/recursos/"
},
{
"glob": "**/*",
"input": "packages/worker/lib/",
"output": "assets/portugol-worker/"
},
"packages/ide/src/favicon.ico",
"packages/ide/src/assets"
],
Expand Down
Loading

0 comments on commit 0a37514

Please sign in to comment.