Sobre
Este projeto se dedica a discutir as variações de implementação da linguagem Portugol e tentar um padrão em uma versão canônica.
Este projeto de padrões do Portugol é uma espécie de hobby, já que queria aprender Portugol nas horas vagas mas descobri que preciso pagar um curso pra isso (na verdade o Portugol Studio em questão até tem uma documentação integrada na IDE própria, mas isso nem sempre é fácil de encontrar, além do que a documentação em questão é apenas especificamente para o dialeto do Portugol Studio).
A ideia aqui é definir um ou mais padrões de linguagem, mas de forma que qualquer pessoa possa escrever um compilador ou um interpretador para ela.
Histórico
Os dialetos de Portugol tem diferentes origens e implementações.
-
VisuAlg é um dialeto baseado em Pascal, Delphi, Basic e Clipper. Criado por Antonio Carlos Nicolodi e implementado por Claudio Morgado de Souza (VisuAlg, 1996), e António Manso, do Instituto Politécnico de Tomar (2004). A primeira versão da pseudolinguagem, segundo a Wikipédia, data de 1980, com algum desenvolvimento até 1983.
-
Portugol Studio é um dialeto baseado em C, Java e PHP, e escrito em Java. Foi inicialmente apresentado por Luiz Fernando Noschang em 2014, e teve uma versão mais recente em 2020.
Por ser uma linguagem mais voltada ao ensino de programação, as implementações mais populares são dentro de ambientes integrados de desenvolvimento (IDEs), como o VisuAlg, o Portugol Studio e o Portugol IDE. Nestes casos não há geração de binários, o código não é compilado. O que existe é a interpretação do código em um ambiente fácil de depuração (debug).
No entanto, há outras implementações baseadas em C, usando Flex e Bison, para definir a gramática e juntá-la à implementação de cada instrução, estas como compiladores, ou seja, com geração de binários, e ainda transpiladores, que transformam um programa em Portugol em outro escrito em outra linguagem, como JavaScript, por exemplo.
Aqui me dedico a estudar todas essas implementações, bem como mapear variações entre elas e, finalmente, propor um padrão para o desenvolvimento de futuras ferramentas.
Dialetos de Portugol
Portugol possui uma variedade de dialetos cujas diferenças só podem ser observadas ao se usar interpretadores e compiladores diferentes. Cada dialeto se parece com outras linguagens de programação que já existem, como C, Delphi e Java. Portanto, escrever um código em Portugol em uma IDE faz este código automaticamente incompatível com qualquer outra IDE.
Um dos objetivos dessa documentação é também conseguir definir uma gramática natural, o mais próximo possível do português.
Dialetos conhecidos de Portugol são: