githubEdit

🦊Kitsune Lang

Kitsune Lang é uma linguagem de script interpretada, feita em Java, criada como projeto educacional para explorar fundamentos de linguagens de programação e construção de interpretadores. Inspirada em linguagens funcionais e fortemente tipadas, a Kitsune Lang foca na simplicidade da sintaxe, execução em tempo real e facilidade de extensão.

Logo


📚 Sumário


✨ Objetivos do Projeto

  • Aprender e aplicar conceitos de análise léxica, parsing e interpretação

  • Criar uma linguagem de script com sintaxe clara e expressiva

  • Desenvolver um interpretador 100% funcional em Java

  • Entender como linguagens reais são construídas por dentro


✨ Filosofia e Pilares

  • 100% Tipada: Tipos obrigatórios com inferência, evitando erros em tempo de execução.

  • Funcional (foco inicial): Funções como valores, imutabilidade incentivada.

  • Sintaxe limpa e distinta: Sem {} para blocos. Usa do ... end para delimitação.

  • Delimitação obrigatória: Uso de ; para separação de instruções.


🧹 Paradigmas e Características Principais

Recurso
Status

✅ Tipagem forte

Obrigatória, com inferência

✅ Paradigma funcional

Suportado

✅ Orientação a objetos

Planejada

✅ Sintaxe concisa e legível

Sem {} ou indent. obrigatória

✅ Interpretada

Foco inicial

🔜 Compilada (futura)

Planejada

✅ Modularização

Suporte a pacotes e módulos


🦊 Visão Geral e Sintaxe

Comentários

Variáveis e Tipagem

📌 Diferença entre aspas simples e duplas

Na Kitsune Lang, a forma como strings são delimitadas afeta seu comportamento:

  • Aspas simples ('): definem strings literais. Interpolação não é permitida.

  • Aspas duplas ("): permitem interpolação de variáveis ou expressões dentro da string, usando ${}.


Funções

Controle de Fluxo

Estruturas de Dados: Listas

Objetos / Registros (Structs)

Sistema de Módulos


📈 Evolução Futura: Orientação a Objetos (OO)

  • def struct para objetos simples

  • def class para classes completas com métodos

  • def interface para interfaces

  • def enum para tipos enumerados

Exemplo planejado:


Palavra reservada
Uso / Descrição

let

Declaração de variável mutável

LET

Declaração de variável constante/imutável

fun

Declaração de função

return

Palavra para retorno dentro de funções

if

Condicional

else

Parte do condicional

while

Loop while

for

Loop for

do

Delimita o início de bloco de código

end

Delimita o fim de bloco de código

def

Declaração de estruturas: structs, classes, enums

struct

Definição de struct

class

(Futuro) Definição de classe

enum

(Futuro) Definição de enum

package

Declaração de pacote / módulo

true

Literal booleano verdadeiro

false

Literal booleano falso

and

Operador lógico AND

or

Operador lógico OR

not

Operador lógico NOT


🧠 Principais Conceitos Envolvidos

  • Lexer (tokenização do código fonte)

  • Parser (construção de AST)

  • Visitor Pattern

  • Execução baseada em AST (interpretação)

  • Escopos, variáveis, controle de fluxo

  • Extensibilidade do interpretador


✅ Estado Atual do Projeto

🚧 Em desenvolvimento


🤝 Equipe

Projeto desenvolvido por entusiastas de programação e compiladores, com foco em aprendizado e experimentação.


📜 Licença

MIT License — use, modifique e distribua à vontade!


Last updated