Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 4.58 KB

README.md

File metadata and controls

106 lines (77 loc) · 4.58 KB

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.