Skip to content

Commit

Permalink
Redesenhando núcleo de Delégua para trabalhar com outros dois núcleos…
Browse files Browse the repository at this point in the history
…: execução e tradução.
  • Loading branch information
leonelsanchesdasilva committed Aug 16, 2023
1 parent 4d82d94 commit 70c49c2
Show file tree
Hide file tree
Showing 14 changed files with 761 additions and 665 deletions.
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@
{
"type": "node",
"request": "launch",
"name": "Delégua > REPL",
"name": "Delégua > Modo LAIR (REPL)",
"skipFiles": ["<node_internals>/**", "node_modules/**"],
"cwd": "${workspaceRoot}",
"console": "integratedTerminal",
Expand Down
27 changes: 13 additions & 14 deletions execucao.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { Delegua } from './fontes/delegua';
import { Command } from 'commander';

const principal = () => {
const principal = async () => {
const analisadorArgumentos = new Command();
let codigoOuNomeArquivo: string;

analisadorArgumentos
.option(
'-c, --codigo <codigo>',
'-c, --codigo <código>',
'Código a ser avaliado.',
''
)
Expand All @@ -32,8 +32,8 @@ const principal = () => {
false
)
.option(
'-t, --traduzir <linguagem>',
'Traduz o código do arquivo passado como parâmetro.',
'-t, --traduzir <linguagem-para-linguagem>',
'Traduz o código do arquivo passado como parâmetro de arquivo. O argumento deve ser no formato linguagem-para-linguagem, como por exemplo `delegua-para-js`.',
)
.argument('[arquivos...]', 'Nomes dos arquivos (opcional)')
.action((argumentos) => {
Expand All @@ -45,24 +45,23 @@ const principal = () => {
analisadorArgumentos.parse();
const opcoes = analisadorArgumentos.opts();

const delegua = new Delegua(
opcoes.dialeto,
opcoes.performance,
codigoOuNomeArquivo ? opcoes.depurador : false,
opcoes.traduzir
);
const delegua = new Delegua();

if (opcoes.codigo) {
delegua.executarCodigoComoArgumento(opcoes.codigo || codigoOuNomeArquivo);
await delegua.executarCodigoComoArgumento(
opcoes.codigo || codigoOuNomeArquivo,
opcoes.dialeto,
Boolean(opcoes.performance)
);
} else {
if (codigoOuNomeArquivo) {
if (opcoes.traduzir) {
delegua.traduzirArquivo(codigoOuNomeArquivo, opcoes.saida);
delegua.traduzirArquivo(codigoOuNomeArquivo, opcoes.traduzir, opcoes.saida);
} else {
delegua.carregarArquivo(codigoOuNomeArquivo);
await delegua.executarCodigoPorArquivo(codigoOuNomeArquivo);
}
} else {
delegua.iniciarLairDelegua();
delegua.iniciarLair();
}
}
};
Expand Down
Loading

0 comments on commit 70c49c2

Please sign in to comment.