Prisma - linguagem de progração

Prisma - linguagem de programação

Adalberto

dez/2023

Seções:

  1. Baixar prisma
  2. Exemplos de código
  3. Licença MIT
  4. Novidades Prisma 1.0.107
  5. O que é Prisma?

Prisma é uma linguagem de programação interpretada com comandos em português do Brasil. Ela pode ser muito útil para aprendizagem de iniciantes em cursos de programação, ou, mesmo para ser usada profissionalmente, visto que possui características das linguagens mais atuais, como Python, Ruby, Perl, etc.

Links úteis:

Página inicial   Blog   Fórum oficial   Baixar   Notas de atualização Prisma

Prisma é uma modificação dos códigos fontes de Lua, uma linguagem criada no Brasil e de fama internacional. Portanto, ela herda muitas características boas, tais como: entre as linguagens de script a mais rápida, mais leve, fácil de embutir e estender na linguagem C, fácil de se aprender, pequena - gasta poucos recursos da máquina.

Mais do que uma tradução

Prisma se tornou mais do que uma mera tradução dos fontes Lua. Há inúmeras funções e características implementadas que não existem em Lua5.2, principalmente nesta nova versão 1.0.107 como, por exemplo, acesso aos caracteres de uma string por meio de índice como se fosse uma tabela, e isso implementado diretamente na máquina virtual em C, tornando mais veloz as operações que precisam precorrer cada caractere de uma string. Outra novidade é a implementação dos operadores de bitwise diretamente na vm 5.2, visto que esta novidade está presente em Lua somente a partir da versão 5.3, e em vez de recomeçar uma nova versão baseada em Lua5.3 ou 5.4 pretendo continuar a implementação atual baseada em Lua5.2.

Lua - linguagem de progração Puc-RJ Prisma utiliza os fontes de Lua 5.2 visite a página oficial de Lua <aqui>

Veja um exemplo de código Prisma:

📋
 ex1.prisma:
  1
  2
  3
  4
  5
  6
  7
 
     local x = 1; //declarando uma variável local e atribuindo seu valor.
     enquanto x <= 10 inicio
         imprimaf('%d ', x);
         x = x + 1; //incrementa 1 em x;
     fim
                //saída --> 1 2 3 4 5 6 7 8 9 10

Esta é uma página estática, mas você pode visitar o blog oficial:

Veja: http://linguagemprisma.br4.biz/blog

Seções:

Voltar ao início

Baixar prisma

Esta seção contém links para baixar Prisma.

Página de download:

Baixar Prisma ubuntu 22.04 (64bits)
Baixar Prisma Windows 10, 11 (64bits)

Downloads antigos na página do blog:

http://linguagemprisma.br4.biz/blog/linguagemprisma-netdownload/
Voltar ao início

Exemplos de código

Esta seção apresenta alguns exemplos de codificação Prisma.

Exemplos:

Função principal:

📋
 ex2.prisma
  1
  2
  3
  4
  5
  6
  7
    local frase;
    funcao principal(argv)
        imprima(frase);
        retorne 0;
    fim
    frase = 'Olá mundo em Prisma';

Obs.: A função principal é opcional, não é necessário utilizá-la, porém o seu uso pode deixar o programa mais organizado.

Lendo o que é digitado (função leia()):

📋
 ex3.prisma
  1
  2
  3
  4
    local nome;
    imprima('Digite seu nome:');
    nome = leia();
    imprima('Seu nome é', nome);

Estrutura de controle 'se':

📋
 ex4.prisma
  1
  2
  3
  4
  5
  6
  7
  8
    es.escreva('Adivinhe o número (digite de 1 a 10): ');
    local x = leia();
    x = convnumero(x);//converte de string para número.
    se x == 7 entao
        imprima('Parabéns! Acertou, o número é 7!');
    senao
        imprima('Infelizmente, você errou, tente outra vez!');
    fim

Estrutura de repetição 'para':

📋
 ex5.prisma
  1
  2
  3
   para i = 1, 10 inicio //conta de 1 até 10...
       imprima(i);
   fim   

Estrutura de repetição 'equanto':

📋
 ex6.prisma
  1
  2
  3
  4
  5
    local i = 1;
    enquanto i<= 10 inicio
        imprima(i);
        i = i + 1;
    fim

Estrutura de repetição 'repita':

📋
 ex7.prisma
  1
  2
  3
  4
  5
    local i = 1;
    repita
        imprima(i);
        i = i + 1;
    ate i>10; //repete até que i seja maior que 10;

Usando o comando 'quebre':

📋
 ex8.prisma
  1
  2
  3
  4
    para i = 1, 1000 inicio
        se i > 10 entao quebre; fim //sai do laço de repetição se i for maior que 10
        imprima(i);
    fim

Tabelas (array, records):

📋
 ex9.prisma
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
    local dias_semana = {}; //declarando uma tabela vazia
    dias_semana[1] = 'Seg'; //preenchendo os indices com valores, iniciando pelo 1;
    dias_semana[2] = 'Ter';
    dias_semana[3] = 'Qua';
    dias_semana[4] = 'Qui';
    dias_semana[5] = 'Sex';
    dias_semana[6] = 'Sáb';
    dias_semana[7] = 'Dom';
    
    //usando o comando 'para' 
    para i = 1, 7 inicio
        imprima(dias_semana[i]);
    fim
    
    //podemos iniciar uma tabela com valores, e em várias linhas:
    local continentes = {'América do Sul', 'América do Central', 
                         'América do Norte', 'Europa','África', 
                         'Oceania','Antártida'
                        };
    //usando o ipares() para percorrer cada índice da tabela
    para i, v em ipares(continentes) inicio
        imprima(v);
    fim
    
    //tabela com campos (os índices são trocados por textos);
    local ret = {};
    ret['largura'] = 10;
    ret.altura = 5; // Um açúcar sintático, o mesmo que ret['altura'] = 5;
    ret.area = ret.altura * ret.largura;
    //usando o pares() para percorrer os campos da tabela.
    para chave, valor em pares(ret) inicio
        imprima(chave, valor);
    fim    
    

Funções:

📋
 ex10.prisma
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
    funcao soma(a,b)
        retorne a+b;
    fim
    local c = soma(3, 5);
    imprima(c);
    
    //a função pode retornar mais de um valor:
    funcao calc(a, b)
        retorne a*b, a+b;
    fim
    local n, z = calc(2, 4);
    imprima(n, z);

Para mais exemplos e tutoriais:

Veja: http://linguagemprisma.br4.biz/blog
Voltar ao início

O que é Prisma?

Prisma é uma linguagem de programação com palavras chave em português brasileiro. Criada para facilitar o aprendizado de programação e também para uso profissional, com recursos como banco de dados, interface gráfica, cgi e aplicativos web. A versão mais atual pode ser executada diretamente no navegador web usando o recurso webasm. Prisma surgiu para meu uso pessoal em projetos com diversos propósitos, facilitando o desenvolvimento de software de modo mais produtivo. Porém, achei por bem compartilhar com todos e sem custo nenhum. Originalmente, meu objetivo era criar uma linguagem do zero, no entanto, isto está além das minhas habilidades em programação, e assim cheguei a conclusão de que a melhor abordagem era modificar um projeto open source já estabelecido, Lua.

Ela possui diversas características, tais como:

Qual o preço para usar Prisma?

Prisma é totalmente gratuita, livre para usar como bem entender, modificar os fontes, vender seus programas, sem que para isso precise pagar dinheiro algum, ou mostrar o código fonte junto ao binário.

Licença

O interpretador possui a mesma licença de Lua na qual é baseada, a biblioteca IG possui a mesma do Gtk. Portanto Prisma é livre e gratuita, tanto o código fonte como os binários poderão ser distribuídos e modificados com fins pessoais, comerciais ou quaisquer outros.

O que poderá ser feito com Prisma:

Com a linguagem Prisma você pode criar desde simples scripts para automatizar tarefas comuns até programas de grande porte para fins comerciais. Usando Prisma + cgi web + MySQL ou SQlite3 tudo depende de sua criatividade. Claro que programas críticos com ênfase na rapidez e eficiência não são recomendados a fazer em Prisma, porém você pode criar essas rotinas em C como uma biblioteca e chamar as funções em Prisma, quase tudo em C pode ser estendido em Prisma.

Uma novidade é que compilei com sucesso o interpretador prisma em wasm, para rodar diretamente em qualquer navegador com suporte a webassembly. É possível mesclar as páginas html com programa prisma, ter acesso aos elementos html e qualquer função em javascript dentro de Prisma. Imagina o que é possível fazer com Prisma + js + html + nwjs. Veja um exemplo mínimo abaixo:

<!DOCTYPE html>
<html>
    <head>
		<meta charset="UTF-8"/>	
        <script type="text/javascript" src="js/webprisma.js"></script>       
    </head>
    <body>
		<h1>Teste prismajs:</h1>	
		<button id="bt1">Clique-me!</button>
    </body>   
</html> 

<script type="text/prisma">	
    local bt1 = js.global.document:getElementById("bt1");
    
    funcao bt1:onclick()
        js:msg("ola! Botão clicado!");
        imprima(sis.nome);
    fim
</script> 

Aproveite e teste-a.

Att. Adalberto Amorim Felipe
Voltar ao início

Novidades Prisma 1.0.107

Esta versão prisma traz algumas novidades interessantes:

Para mais detalhes sobre a atualização de Prisma 1.0.107 visite o link abaixo:

Notas de atualização Prisma
Voltar ao início

Licença MIT

* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.