Versão: 1.0.0
- Guilherme Vasconcelos Horita
- Henrique Beraldo Vilela Marques
- Leonardo Sousa Ferreira Fadul
A "The Smile Programming Language" é uma linguagem de programação desenvolvida em Java com o objetivo de ser simples, descritiva e de fácil compreensão. O Smile reconhece todos os tokens e possui sua própria construção, sendo traduzida para a linguagem C ao final para fins de compilação.
- Desenvolvida em Java: A linguagem foi implementada usando a linguagem de programação Java.
- Reconhecimento de Tokens: O Smile reconhece todos os tokens essenciais para construir programas de forma clara e eficaz.
- Compilação para C: Ao final do processo, os programas escritos em Smile são traduzidos para linguagem C para serem compilados e executados.
- Sem Bibliotecas de Terceiros: O Smile Programming Language é desenvolvido sem depender de bibliotecas externas, mantendo a simplicidade e a autonomia.
- Tipos de Dados: Suporta tipos de dados comuns, incluindo int, char e float.
- Blocos de Comando: Os blocos de comando no Smile são delimitados pelo uso de "smile left" (" :) ") no início e "smile right" (" (:)" ) no final.
- Linguagem Descritiva: Projetada para ser uma linguagem descritiva, facilitando a expressão clara e compreensível do código.
- A linguagem inclui as seguintes palavras-chave e operadores:
- TheBeginning: Marca o início do programa.
- TheEnd: Marca o fim do programa.
- true e false: Representam os valores booleanos verdadeiro e falso.
- int, char, float: Tipos de dados suportados.
- for, go, while: Estruturas de controle de fluxo.
- if, then, elif, ifnot: Estruturas condicionais.
- scenario: Utilizado para definir cenários.
- .. : Representa o fim de uma expressão.
- ... : Utilizado para loops for.
- || : Operador lógico OR.
- ! : Operador lógico NOT.
- write e read: Utilizados para operações de entrada e saída.
- is: Operador de comparação.
Este é um exemplo básico para mostrar a estrutura geral de um programa Smile.
TheBeginning
var <=> 10 is int..
var1 <=> "Hello, World!"..
if var <= _var then (:
:) elif _var >= a then (:
:) ifnot (:
:)
write("oi")
write("oi {_var}")
for 0...100 go (:
:)
for 10...0 go (:
:)
while a && 10 || !b! && c (:
:)
TheEnd
Para mais informações ou suporte, entre em contato com os desenvolvedores:
- Guilherme Vasconcelos Horita: [email protected]
- Henrique Beraldo Vilela Marques: [email protected]
- Leonardo Sousa Ferreira Fadul: [email protected]