Jump to content

Recommended Posts

Posted

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

Posted

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
Posted (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 by HappyHippyHippo
  • Vote 1
IRC : sim, é algo que ainda existe >> #p@p
Posted

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 -

 

Posted

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
Posted (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 by HappyHippyHippo
  • Vote 2
IRC : sim, é algo que ainda existe >> #p@p
  • 3 weeks later...
  • 1 month later...
Posted

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.

  • 1 year later...

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
×
×
  • 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.