Skip to content

Simples versão web, compatível com smartphones, para programar na linguagem do portugol studio.

License

Notifications You must be signed in to change notification settings

portugol-studio/portugol-studio-js

 
 

Repository files navigation

Portugol Mobile

Simples versão web, compatível com smartphones, para programar na linguagem do portugol studio.

Site no celular

Utilização

acesse: https://erickweil.github.io/portugolweb/ para utilizar direto do navegador ou baixe o aplicativo Android:https://play.google.com/store/apps/details?id=br.erickweil.portugolweb que permite utilizar offline.

** obs: Ao utilizar no celular, haverá uma barra especial com caracteres para complementar o teclado **

Recursos

Este projeto é uma implementação em javascript da linguagem Portugol, utilizada pelo programa Portugol Studio. segue uma lista de funcionalidades que são suportadas

  • Funções da linguagem

    • escreva
    • leia
    • limpa
    • sorteia
  • Variáveis

    • todos os tipos ( inteiro, real, cadeia, caracter, logico )
  • Vetores e Matrizes

    • permite vetores com quantas dimensões quiser ( unidimensionais, bidimensionais, tridimensionais e etc...)
  • Estrutura Se-Senão

  • Estrutura Enquanto

  • Estrutura Faça-Enquanto

  • Estrutura Escolha-caso

  • Funções

    • funções com mesmo nome e assinaturas diferentes ( overloading )
    • Passagem de parâmetros por referência, por declarar o parâmetro com o símbolo &
    • vetores são sempre passados por referência
  • Bibliotecas

    • Calendario
    • Graficos
      • Não funciona todos os métodos, principalmente os que trabalham com arquivos e/ou modificam imagens
      • imagens devem ser carregadas utilizando um url, e não um caminho de arquivo
    • Matematica
    • Mouse ( No celular, um toque é BOTAO_ESQUERDO, dois toques é BOTAO_DIREITO e três toques é BOTAO_MEIO )
    • Objetos
    • Teclado ( Não funciona no celular )
    • Texto
    • Tipos
    • Util

O que falta

  • Mensagens de erros que definem melhor o que aconteceu e como corrigir
  • Adicionar suporte às bibliotecas Sons, Arquivos, Internet, ServiçosWeb.
    • só que essas bibliotecas só vão funcionar no celular, pois javascript puro não permite acessar arquivos nem a internet
  • Sistema de Inspeção de Variáveis em tempo de execução
  • Permitir executar o código passo-a-passo e inserir pontos de depuração
  • Hierarquia do código na lateral
  • Mais exemplos de código
  • Sistema de Ajuda
  • Permitir compartilhar o código usando um link compartilhável
  • Adaptar para que possa incluir o editor em um iframe em sites externos ( Moodle )
  • Realizar compilação para javascript e não utilizar máquia virtual, para deixar mais rápido
  • Exportar código para Java ou C++

Aceito ajuda! inicie uma discussão com uma nova Issue ou mande email para [email protected] caso queira conversar.

Como funciona

Quando você clica em "Executar", todo o código que estiver no editor será compilado e executado, passando por etapas que lembram um pouco como Java funciona

  1. Tokenizer: Esta é a análise léxica, onde o código é dividido em 'tokens', isto é, partes elementares como palavras, números, símbolos, etc...
  2. Parser: Esta é a análise sintática, Os tokens são estruturados em uma árvore sintática. esta árvore contém todos os elementos do código organizados de forma que o compilador possa atravessar corretamente e gerar o código
  3. Compiler: A árvore sintática é atravessada pelo compilador, e são gerados instruções chamadas de 'bytecode', semelhantes porém não iguais ao bytecode do Java.
  4. Virtual Machine: Uma vez que o bytecode está gerado, a máquina virtual é iniciada e executa cada instrução uma após a outra.

Devido ao código ser executado em uma máquina virtual, o mesmo código executado aqui e no programa Portugol Studio, pode ser de 10 a 100 vezes mais lento ( se você usar para aprender a programar isso não será um problema )

Bibliotecas e Frameworks

é isso! todo o código é escrito em html e javascript, não é utilizado JQuery nem nenhuma outra biblioteca.

Instalação

É uma página web estática, não é preciso instalar:

acesse: https://erickweil.github.io/portugolweb/ para utilizar direto do navegador ou baixe o aplicativo Android:https://play.google.com/store/apps/details?id=br.erickweil.portugolweb que permite utilizar offline.

Ou se desejar, baixe o inteiro projeto e abra o arquivo index.html para utilizar offline no Computador ( É necessário ter um navegador web ).

Licença

GPL-3.0 - Veja o arquivo da licença: Licença

Agradecimentos

  • Este projeto foi inspirado pelo Projeto Portugol Studio, e tem como objetivo trazer a programação nesta linguagem Portugol até os dispositivos móveis.

About

Simples versão web, compatível com smartphones, para programar na linguagem do portugol studio.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.7%
  • HTML 3.8%
  • CSS 0.5%