vlanguage
v1.0.6
Published
Esta linguagem foi desenvolvida como um projeto educacional e experimental. O objetivo é oferecer uma base simples e extensível que suporte variáveis, funções, estruturas de controle, arrays, objetos, e extensões personalizadas, como entrada do usuário e
Downloads
18
Readme
VL
Esta linguagem foi desenvolvida como um projeto educacional e experimental. O objetivo é oferecer uma base simples e extensível que suporte variáveis, funções, estruturas de controle, arrays, objetos, e extensões personalizadas, como entrada do usuário e exibição de mensagens.
Estrutura Básica
Variáveis
varDeclara uma variável mutável.valDeclara uma constante imutável.
Sintaxe
var x = 10
val y = 20Funções
funDeclara uma função.
Sintaxe
fun teste(args){
// Corpo da função
}Chamada de função:
val resultado = sum(10, 20); // Sum é uma função global !!!Estruturas de Controle
ifDeclara uma estrutura condicional.elseDeclara uma estrutura condicional alternativa.whileDeclara um loop condicional.forDeclara um loop de iteração.
Sintaxe
if (x > 10){
// Corpo do if
} else {
// Corpo do else
}
while (x > 10){
// Corpo do while
}
for (var i = 0; i < 10; i++){
// Corpo do for
}Arrays
[]Declara um array.
Futuras implementações:
pushAdiciona um elemento ao final do array.popRemove o último elemento do array.shiftRemove o primeiro elemento do array.
Sintaxe:
var arr = [1,2,3,4];
print(arr[0]); // 1Objetos
{}Declara um objeto.
Futuras implementações:
.Acessa uma propriedade do objeto.
Sintaxe:
var obj = {
nome: "João",
idade: 20
};
print(obj.nome); // JoãoExtensões
A linguagem suporta extensões para adicionar funcionalidades personalizadas. As extensões podem ser registradas no escopo global e usadas diretamente no código.
Exemplo: Extensão input
import { IExtension } from "../interfaces/IExtension";
import { Scope } from "../core/scope";
import readline from "readline-sync";
class InputExtension implements IExtension {
registerExtension(scope) {
scope.define("input", (promptMessage = "") => {
return readline.question(promptMessage);
});
}
}
export default InputExtension;Uso:
val nome = input("Qual o seu nome? "); // Captura a entrada do usuário ex: João
print("Ola", nome); // Ola João