Jump to content

Portugol - Linguagem de iniciação à programação (Interpretador)


HappyHippyHippo
 Share

Recommended Posts

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

Link to comment
Share on other sites

HappyHippyHippo

pois ... esqueci-me que o windows fecha logo a consola 😄

corre pela consola 😉

enquanto isso, vou compilar com um getchar() no final ... DONE

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

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
Link to comment
Share on other sites

HappyHippyHippo

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 by HappyHippyHippo
  • Vote 1
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

HappyHippyHippo

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
Link to comment
Share on other sites

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 -

 

Link to comment
Share on other sites

HappyHippyHippo

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
Link to comment
Share on other sites

HappyHippyHippo

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 by HappyHippyHippo
  • Vote 2
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

HappyHippyHippo

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
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.