Skip to content

Instantly share code, notes, and snippets.

View lrlucena's full-sized avatar
🦐
Working on Potigol Language (potigol.github.io)

Leonardo Lucena lrlucena

🦐
Working on Potigol Language (potigol.github.io)
View GitHub Profile
import scala.collection.mutable.Buffer
class Contato(
var nome: String,
var email: String,
var telefone: Map[String, String],
var cidade: String = "") {
}
class Agenda() {
/*
Crie um programa para construir uma página HTML usando a função:
def pagina(font: String, cor: String)(titulo: String,
pessoas: List[Pessoa], mensagem: String): String
Uma pessoa pode ser um Aluno (nome, matricula, curso, periodo)
ou
Professor (nome, matricula, disciplina, diretoria).
*/
https://www.dropbox.com/s/nny7objxs401rnn/potigol097.zip?dl=0
@lrlucena
lrlucena / a.md
Last active September 28, 2016 20:38

Instruções

Arquivo de definição da sintaxe de Potigol usando o ACE

Teste em: https://ace.c9.io/tool/mode_creator.html

Cole o arquivo potigol.js no lado esquerdo e o arquivo exemplo.poti no lado direito.

package whilelang
import org.antlr.v4.runtime.ParserRuleContext
import org.antlr.v4.runtime.tree._
import whilelang.{ WhilelangParser => C }
import plp.enquanto.linguagem.Linguagem._
trait Antlr2Scala {
protected val values = new ParseTreeProperty[Any]
grammar Linguagem1;
documento: bloco* ;
bloco: 'h1' Texto
| 'p' Texto
| form
;
form: 'form' '{' elemento* '}';
x := 5;
exiba "Qual a senha?";
y := Leia;
enquanto nao(x = y) {
exiba "Qual a senha?";
y := Leia;
};
exiba "Acertou"
# 12. Brincadeira do ímpar ou par:
# escreva um programa que leia dois nomes e
# dois valores inteiros, que correspondem ao
# que cada um colocou, e informe quem ganhou
# o “ímpar ou par”.
imprima "Quem é par? "
par = leia_texto
imprima "Quem é ímpar? "
impar = leia_texto
escreva "Coloque os números:"
para i de 1 ate 10 faca {
escreva i;
i := i + 2
};
escreva i