Popular Post HappyHippyHippo Posted November 28, 2015 at 12:43 PM Popular Post Report #590152 Posted November 28, 2015 at 12:43 PM (edited) Titulo do Projecto: Portugol Última Versão: 0.4.1 Site Oficial: talvez mais tarde ... quando tiver tempo Licença: a dicidir, ainda não tive tempo para isso Líder do Projecto: HappyHippyHippo Membros Actuais do Projecto: eu ... se mais alguem que queira participar Descrição do Projecto: Interpretador de Portugol Já implementado: - comentãrios em linha // comentário - comentários de multiplas linhas /* comentário */ - criação de variáveis com os tipos de dados : booleano, inteiro, real, texto var1 : boolean var1 : inteiro var1 : real var1 : texto <- "HappyHippyHippo : " - operadores matemáticos : adição(+), subtração(-), multiplação(*), divisão(/), resto(%) var1 : inteiro var2 : inteiro <- 3 var3 : real <- var1 * 10 + var2 - atribuição de de valores a variáveis var1 : texto var1 <- "HappyHippyHippo" - elevação automática de tipo de dados var1 : inteiro <- 10 var2 : texto <- "resultado : " var3 : texto <- var1 + var2 // "resultado : 10" - operadores de comparação : maior(>), maior ou igual(>=), menor(<), menor ou igual(<=), igual(=), diferente(<>) var1 : inteiro var2 : inteiro <- 3 var3 : booleano <- var1 <> var2 - operadores booleanos : e(&&), ou(||), xou(^) var1 : inteiro var2 : inteiro <- 3 var3 : real <- var1 * não var2 - operadores unários : negação(não), negativo(-) var1 : inteiro var2 : inteiro <- 3 var3 : booleano <- var1 || var2 - estruturas de control : se, para, enquanto var1 <- inteiro para var de 10 até 1 então se var1 > 5 então var1 <- var1 + 2 * var senão var1 <- var1 + var fim de se fim de para - funções e chamada de funções func : função(inteiro param) retorna real retorna param * 3 fim de função var1 : real <- 1.1 func(2 + var1) - importação de ficheiros extra com código importar "codigo.portugol" - função de escrita na consola escrever("HappyHippyHippo") - funções de conversão de tipo de dados var1 : real <- 1.1 var2 : inteiro <- inteiro(var1) - função de início da aplicação programa escreve("Olá mundo") fim de programa (nota : precedência de operadores segue a filosofia do C) Planos para o futuro - validação da AST criada (validação semântica) - implementação de arrays - implementação de objectos - debugger visual com execução por passos - ligação com o SDL para criação rápida de elementos gráficos Código fonte: https://github.com/HappyHippyHippo/portugol Download executável: https://dl.dropboxusercontent.com/u/12899799/portugol/portugol.zip Edited December 12, 2015 at 01:19 AM by HappyHippyHippo 4 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunuu Posted November 29, 2015 at 09:45 PM Report #590224 Posted November 29, 2015 at 09:45 PM Bem gosto sempre de ver linguagens novas e modificações em português Eu por acaso estou a criar uma nova e multiplataforma mas é meio lenta infelizmente. fico á espera de uma compilação, não tenho maneiras agora para compilar C
FMC Posted November 29, 2015 at 10:11 PM Report #590226 Posted November 29, 2015 at 10:11 PM Muito bom! "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard -
HappyHippyHippo Posted November 29, 2015 at 10:38 PM Author Report #590228 Posted November 29, 2015 at 10:38 PM fico á espera de uma compilação, não tenho maneiras agora para compilar C https://dl.dropboxusercontent.com/u/12899799/portugol.exe 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunuu Posted November 29, 2015 at 11:06 PM Report #590233 Posted November 29, 2015 at 11:06 PM Ainda não tens um comando de pausa?
HappyHippyHippo Posted November 29, 2015 at 11:07 PM Author Report #590234 Posted November 29, 2015 at 11:07 PM (edited) pois ... esqueci-me que o windows fecha logo a consola 😄 corre pela consola 😉 enquanto isso, vou compilar com um getchar() no final ... DONE Edited November 29, 2015 at 11:13 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunuu Posted November 30, 2015 at 01:25 PM Report #590243 Posted November 30, 2015 at 01:25 PM Funciona como uma maravilha!
brunuu Posted December 1, 2015 at 08:50 PM Report #590285 Posted December 1, 2015 at 08:50 PM Tem um comando para receber input? Estava aqui a brincar um pouco e tava a tentar fazer um jogo do galo, mas percebi que não posso receber input do utilizador.
HappyHippyHippo Posted December 1, 2015 at 09:31 PM Author Report #590286 Posted December 1, 2015 at 09:31 PM Tem um comando para receber input? Estava aqui a brincar um pouco e tava a tentar fazer um jogo do galo, mas percebi que não posso receber input do utilizador. ainda não como podes ver, isto ainda está numa fazer de ter uma AST a funcionar correctamente. a função escrever é mais para testes do que para outra coisas ... (ainda estou a ponderar converter de C para C++ ...) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
HappyHippyHippo Posted December 2, 2015 at 12:39 PM Author Report #590299 Posted December 2, 2015 at 12:39 PM (edited) nova versão de desenvolvimento (em c++ / diferente do github) adicionado a função do sistema: le() esta função retorna a linha (texto) lida da consola, que pode ser interpretada através da função de cast var : inteiro <- inteiro(le()) link para download do ficheiro executável e programa exemplo actualizado no post inicial programa exemplo: factorial.portugol /* Função recursiva de calculo do factorial de um número > parâmetro[real] : n valor do qual o factorial irá ser calculado > retorna[real] o factorial do parâmetro da função */ factorial : função(real n) retorna real // termo de paragem da função recursiva // - se o factorial for menor ou igual a 1 então o valor do factorial é 1 se n <= 1 então retorna 1 fim de se // retornar a multiplcação do valor base do factorial com o resultado do calculo // do factorial desse valor base menos 1 // // n! = n * (n - 1)! retorna n * factorial(n - 1) fim de função programa.portugol // importar o ficheiro com a implementação do cálculo do factorial importar "factorial.portugol" // função de entrada/início da aplicação programa // apresentar a mensagem que pede o valor do factorial a ser calculado escreve("calcular o factorial de : ") // lê o valor da consola // adiciona o valor de uma variável que não existe // - para teste da AST, deverá tomar o valor de zero até a implementação // da validação semântica da AST // passa como argumento da chamada da função de cálculo do factorial // e apresenta o resultado da chamada do cálculo do factorial na consola retorna escreve("resultado : " + factorial(inteiro(le()) + var)) fim de programa Edited December 2, 2015 at 12:42 PM by HappyHippyHippo 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunuu Posted December 7, 2015 at 11:08 PM Report #590460 Posted December 7, 2015 at 11:08 PM Olha em alguns PCs o Portugal não funciona devido a DLL libgcc_s_dw2-1 estar em falta no system32.
HappyHippyHippo Posted December 7, 2015 at 11:13 PM Author Report #590461 Posted December 7, 2015 at 11:13 PM Olha em alguns PCs o Portugal não funciona devido a DLL libgcc_s_dw2-1 estar em falta no system32. certo, depois de ter o branch dev estável, compilo com o visual studio e isso deverá deixar de aparecer. obrigada IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
FMC Posted December 9, 2015 at 01:38 PM Report #590502 Posted December 9, 2015 at 01:38 PM Esse copilador tem para versão para linux, ou para ser mais especifico OpenSuse? "The greatest mistake you can make in this life is to be continually fearing you will make one." Elbert Hubbard -
HappyHippyHippo Posted December 9, 2015 at 02:17 PM Author Report #590503 Posted December 9, 2015 at 02:17 PM Esse copilador tem para versão para linux, ou para ser mais especifico OpenSuse? o código do interpretador está no github, logo, sim, existe a possibilidade de correr no linux. neste momento, o código que existe no github está em C, mas dentro de dias irá ser completamente actualizado para uma versão em C++ já preparado para começar a implementar listas e talvez objectos. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
HappyHippyHippo Posted December 12, 2015 at 01:20 AM Author Report #590600 Posted December 12, 2015 at 01:20 AM (edited) ficheiro executável actualizado (compilado no Visual Studio, logo não deve haver problemas com dll's em falta) para executar o ficheiro .portugol, basta executar-lo com o ficheiro .exe (arrastar o ficheiro .portugol para cima do ficheiro .exe) ps : código no github / branch : hhhdev Edited December 12, 2015 at 01:28 AM by HappyHippyHippo 2 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
djthyrax Posted December 28, 2015 at 04:22 PM Report #591103 Posted December 28, 2015 at 04:22 PM Não sei se conheces, mas já existe um projeto exactamente com esse nome há uns anos desenvolvidos no Instituto Politécnico de Tomar. Dá uma olhada: http://www.dei.estt.ipt.pt/portugol/ Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
HappyHippyHippo Posted December 28, 2015 at 04:41 PM Author Report #591105 Posted December 28, 2015 at 04:41 PM Não sei se conheces, mas já existe um projeto exactamente com esse nome há uns anos desenvolvidos no Instituto Politécnico de Tomar. Dá uma olhada: http://www.dei.estt.ipt.pt/portugol/ sim, já tinha dado uma vista de olhos obrigada IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunuu Posted February 25, 2016 at 02:52 PM Report #593854 Posted February 25, 2016 at 02:52 PM Ainda estas a trabalhar nisto? Por acaso estou muito curioso de ver como isto ficaria se desse para criar gráficos e janelas, seria algo "inovador" nas linguagens de programação em português visto que nenhuma delas tem maneiras de criar gáficos ou janelas.
HappyHippyHippo Posted February 25, 2016 at 03:06 PM Author Report #593855 Posted February 25, 2016 at 03:06 PM sim ainda estou a trabalhar nisto neste momento estou a alterar o runtime para poder criar objectos quando isso tiver terminado, vou "ligar" a funções de C o que imediatamente faz com que possas usar algo como o SDL IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
devgoncalo Posted March 5, 2017 at 05:32 PM Report #602886 Posted March 5, 2017 at 05:32 PM ola boa iniciativa, parabéns! cumps
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now