Logo Lanfrica

Vitorreiis/a3_TeoriaDaComputacao

Domaine:

natural language processing

Type de record:

softwaretools
Créateur:
Vit
Hôte:
Transpilador de uma linguagem baseada em Suaíli (Swahili), desenvolvido para a disciplina de Teoria da Computação e Compiladores. # Transpilador Kiswahili → Python Projeto desenvolvido para a disciplina de **Teoria da Computação e Compiladores**, com o objetivo de criar uma linguagem fictícia baseada no idioma **Suaíli (Kiswahili)** e transpilar seu código para Python. ## Funcionalidades * Análise Léxica (Lexer) * Análise Sintática (Parser) * Análise Semântica * Tabela de Símbolos * Geração de Código Python * Interface Web para testes * Execução do código Python no navegador utilizando Pyodide ## Estrutura do Projeto ```text . ├── frontend/ │ ├── index.html │ ├── style.css │ └── app.js │ ├── lexer.js ├── parser.js ├── transpilador.js └── README.md ``` ## Como Executar ### Interface Web 1. Abra o projeto no VS Code. 2. Instale a extensão **Live Server**. 3. Abra o arquivo: ```text frontend/index.html ``` 4. Clique com o botão direito e selecione: ```text Open with Live Server ``` 5. Digite um código em Kiswahili e clique em **TRANSPILAR E EXECUTAR**. ### Terminal (Node.js) Executar exibindo o Python gerado: ```bash node transpilador.js programa.swh ``` Gerar um arquivo Python: ```bash node transpilador.js programa.swh -o programa.py ``` Executar o Python gerado: ```bash python programa.py ``` ## Exemplo Código Kiswahili: ```swahili chapisha("Olá Mundo"); ``` Python gerado: ```python print("Olá Mundo") ``` Saída: ```text Olá Mundo ``` ## Tecnologias * JavaScript * HTML5 * CSS3 * Node.js * Pyodide ## Linguagem Kiswahili — Referência rápida ### Tipos | Kiswahili | Tipo | Exemplo | |----------------|---------|--------------------------------| | `nambari` | int | `nambari x = 10` | | `desimali` | float | `desimali pi = 3.14` | | `maneno` | string | `maneno s = "Jambo"` | | `kweli_uongo` | bool | `kweli_uongo b = kweli` | ### Booleanos - `kweli` → `True` - `uongo` → `False` ### Estruturas de controle ``` kama (cond) { ... } sivyo { ... } wakati (cond) { ... } fanya …