summaryrefslogtreecommitdiff
path: root/tests/examplefiles
diff options
context:
space:
mode:
authorLorhan Sohaky <16273730+LorhanSohaky@users.noreply.github.com>2022-12-10 14:01:23 -0300
committerGitHub <noreply@github.com>2022-12-10 18:01:23 +0100
commit478318b0bd14bfdbc94f47bd8877d3af65b29a4f (patch)
treef48dba6ca8619ead0e631b5bb2c1195f50c3cad9 /tests/examplefiles
parent6ec0f904a643202fb4a2289ed75e663819e86ed0 (diff)
downloadpygments-git-478318b0bd14bfdbc94f47bd8877d3af65b29a4f.tar.gz
Add support for PortugolLexer (#2300)
Diffstat (limited to 'tests/examplefiles')
-rw-r--r--tests/examplefiles/portugol/example.alg184
-rw-r--r--tests/examplefiles/portugol/example.alg.output1195
2 files changed, 1379 insertions, 0 deletions
diff --git a/tests/examplefiles/portugol/example.alg b/tests/examplefiles/portugol/example.alg
new file mode 100644
index 00000000..c57545e1
--- /dev/null
+++ b/tests/examplefiles/portugol/example.alg
@@ -0,0 +1,184 @@
+Algoritmo "semnome"
+// Descrição : Aqui você descreve o que o programa faz!
+// Autor(a) : Lorhan Sohaky
+// Data atual : 04/12/2022
+Var
+// Seção de Declarações das variáveis
+
+meu_caractere: caractere
+meu_inteiro: inteiro
+meu_real: real
+meu_vetor: vetor[1..10] de inteiro
+
+Inicio
+// Seção de Comandos, procedimento, funções, operadores, etc...
+
+ escreva("Digite N1:")
+ leia(n1)
+ n1 <- 1
+
+ escreva("Digite N2:")
+ leia(n2)
+
+ escreval("Valor 1:", n1)
+ escreva("Valor 2:", n2)
+
+ resultado <- n1 + n2
+ escreval(n1,"+", n2, "=", resultado)
+
+ resultado <- n1 - n2
+ escreval(n1,"-", n2, "=", resultado)
+
+ resultado <- n1 * n2
+ escreval(n1,"*", n2, "=", resultado)
+
+ resultado <- n1 / n2
+ escreval(n1,"/", n2, "=", resultado)
+
+ resultado <- n1 DIV n2
+ escreval(n1,"DIV", n2, "=", resultado)
+
+ resultado <- n1 MOD n2
+ escreval(n1,"MOD", n2, "=", resultado)
+
+ me <- (n1 + n2 + n3) / 3
+ escreva("Média:", me)
+
+ vq <- sm / 5
+ vp <- sm - (qq * vq)
+ vpd <- sm - ((vp * 15) / 100)
+
+ se ( n1 > n2 ) entao
+ escreva("N1 é maior que N2")
+ fimse
+
+ se ( n2 > n1 ) entao
+ escreva("N2 é maior que N1")
+ fimse
+
+ se ( n2 = n1 ) entao
+ escreva("N2 = N1")
+ fimse
+
+ se ( n mod 2 <> 0 ) entao
+ escreva("Impar")
+ senao
+ escreva("Par")
+ fimse
+
+ se (n < 10) entao
+ escreva("N < 10")
+ senao
+ se ( n = 10 ) entao
+ escreva("N = 10")
+ senao
+ se (n > 10) e (n < 50) entao
+ escreva("10 < N < 50")
+ senao
+ se (n = 50) entao
+ escreva("N = 50")
+ senao
+ escreva("N > 50")
+ fimse
+ fimse
+ fimse
+ fimse
+
+ se ( x = "M" ) ou ( x = "masculino" ) entao
+ escreva("Sexo: masculino")
+ senao
+ se ( x = "F" ) ou ( x = "feminino" ) entao
+ escreva("Sexo: feminino")
+ senao
+ escreva("Digite novamente!")
+ fimse
+ fimse
+
+ se (a >= b) e (b >= c) entao
+ maior <- a
+ menor <- c
+ senao
+ se (a >= c) e (c >= b) entao
+ maior <- a
+ menor <- b
+ senao
+ se (b >= a) e (a >= c) entao
+ maior <- b
+ menor <- c
+ senao
+ se (b >= c) e (c >= a) entao
+ maior <- b
+ menor <- a
+ senao
+ se (c >= a) e (a >= b) entao
+ maior <- c
+ menor <- b
+ senao
+ maior <- c
+ menor <- a
+ fimse
+ fimse
+ fimse
+ fimse
+ fimse
+
+ escolha (n)
+ caso 1
+ escreva("Janeiro")
+ caso 2
+ escreva("Fevereiro")
+ caso 3
+ escreva("Marco")
+ caso 4
+ escreva("Abril")
+ caso 5
+ escreva("Maio")
+ caso 6
+ escreva("Junho")
+ caso 7
+ escreva("Julho")
+ caso 8
+ escreva("Agosto")
+ caso 9
+ escreva("Setembro")
+ caso 10
+ escreva("Outubro")
+ caso 11
+ escreva("Novembro")
+ caso 12
+ escreva("Dezembro")
+ outrocaso
+ escreva("'Numero invalido'")
+ fimescolha
+
+ enquanto (n <11) faca
+ escreva(n)
+ n <- n + 1
+ fimenquanto
+
+ para n de 1 ate 10 faca
+ escreva(n)
+ fimpara
+
+ funcao soma: inteiro
+ var aux: inteiro
+ inicio
+ // n, m e res são variáveis globais
+ aux <- n + m
+ retorne aux
+ fimfuncao
+
+ res <- soma
+ escreva(res)
+
+ funcao soma (x,y: inteiro): inteiro
+ inicio
+ retorne x + y
+ fimfuncao
+
+ n <- 4
+ m <- -9
+ res <- soma(n,m)
+ Pi * 10
+ escreva(res * Pi * exp(10))
+Fimalgoritmo \ No newline at end of file
diff --git a/tests/examplefiles/portugol/example.alg.output b/tests/examplefiles/portugol/example.alg.output
new file mode 100644
index 00000000..2db9b36f
--- /dev/null
+++ b/tests/examplefiles/portugol/example.alg.output
@@ -0,0 +1,1195 @@
+'Algoritmo' Keyword
+' ' Text.Whitespace
+'"' Literal.String
+'semnome' Literal.String
+'"' Literal.String
+'\n' Text.Whitespace
+
+'// Descrição : Aqui você descreve o que o programa faz!' Comment.Single
+'\n' Text.Whitespace
+
+'// Autor(a) : Lorhan Sohaky' Comment.Single
+'\n' Text.Whitespace
+
+'// Data atual : 04/12/2022' Comment.Single
+'\n' Text.Whitespace
+
+'Var' Keyword
+'\n' Text.Whitespace
+
+'// Seção de Declarações das variáveis ' Comment.Single
+'\n\n' Text.Whitespace
+
+'meu_caractere' Name
+':' Operator
+' ' Text.Whitespace
+'caractere' Keyword.Type
+'\n' Text.Whitespace
+
+'meu_inteiro' Name
+':' Operator
+' ' Text.Whitespace
+'inteiro' Keyword.Type
+'\n' Text.Whitespace
+
+'meu_real' Name
+':' Operator
+' ' Text.Whitespace
+'real' Keyword.Type
+'\n' Text.Whitespace
+
+'meu_vetor' Name
+':' Operator
+' ' Text.Whitespace
+'vetor' Keyword
+'[' Punctuation
+'1' Literal.Number.Integer
+'.' Operator
+'.' Operator
+'10' Literal.Number.Integer
+']' Punctuation
+' ' Text.Whitespace
+'de' Name
+' ' Text.Whitespace
+'inteiro' Keyword.Type
+'\n\n' Text.Whitespace
+
+'Inicio' Keyword
+'\n' Text.Whitespace
+
+'// Seção de Comandos, procedimento, funções, operadores, etc... ' Comment.Single
+'\n\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Digite N1:' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'leia' Keyword
+'(' Punctuation
+'n1' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'1' Literal.Number.Integer
+'\n\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Digite N2:' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'leia' Keyword
+'(' Punctuation
+'n2' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'"' Literal.String
+'Valor 1:' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n1' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Valor 2:' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'resultado' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'+' Operator
+' ' Text.Whitespace
+'n2' Name
+'\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'n1' Name
+',' Operator
+'"' Literal.String
+'+' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+',' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'=' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'resultado' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'resultado' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'n2' Name
+'\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'n1' Name
+',' Operator
+'"' Literal.String
+'-' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+',' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'=' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'resultado' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'resultado' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'*' Operator
+' ' Text.Whitespace
+'n2' Name
+'\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'n1' Name
+',' Operator
+'"' Literal.String
+'*' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+',' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'=' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'resultado' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'resultado' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'/' Operator
+' ' Text.Whitespace
+'n2' Name
+'\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'n1' Name
+',' Operator
+'"' Literal.String
+'/' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+',' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'=' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'resultado' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'resultado' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'DIV' Keyword
+' ' Text.Whitespace
+'n2' Name
+'\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'n1' Name
+',' Operator
+'"' Literal.String
+'DIV' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+',' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'=' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'resultado' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'resultado' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'MOD' Keyword
+' ' Text.Whitespace
+'n2' Name
+'\n ' Text.Whitespace
+'escreval' Keyword
+'(' Punctuation
+'n1' Name
+',' Operator
+'"' Literal.String
+'MOD' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'n2' Name
+',' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'=' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'resultado' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'me' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'(' Punctuation
+'n1' Name
+' ' Text.Whitespace
+'+' Operator
+' ' Text.Whitespace
+'n2' Name
+' ' Text.Whitespace
+'+' Operator
+' ' Text.Whitespace
+'n3' Name
+')' Punctuation
+' ' Text.Whitespace
+'/' Operator
+' ' Text.Whitespace
+'3' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Média:' Literal.String
+'"' Literal.String
+',' Operator
+' ' Text.Whitespace
+'me' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'vq' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'sm' Name
+' ' Text.Whitespace
+'/' Operator
+' ' Text.Whitespace
+'5' Literal.Number.Integer
+'\n ' Text.Whitespace
+'vp' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'sm' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'(' Punctuation
+'qq' Name
+' ' Text.Whitespace
+'*' Operator
+' ' Text.Whitespace
+'vq' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'vpd' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'sm' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'((' Punctuation
+'vp' Name
+' ' Text.Whitespace
+'*' Operator
+' ' Text.Whitespace
+'15' Literal.Number.Integer
+')' Punctuation
+' ' Text.Whitespace
+'/' Operator
+' ' Text.Whitespace
+'100' Literal.Number.Integer
+')' Punctuation
+'\n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'n2' Name
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N1 é maior que N2' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'n2' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N2 é maior que N1' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'n2' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'n1' Name
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N2 = N1' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimse' Keyword
+' \n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'mod' Keyword
+' ' Text.Whitespace
+'2' Literal.Number.Integer
+' ' Text.Whitespace
+'<' Operator
+'>' Operator
+' ' Text.Whitespace
+'0' Literal.Number.Integer
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Impar' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Par' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'n' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'10' Literal.Number.Integer
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N < 10' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'10' Literal.Number.Integer
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N = 10' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'n' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'10' Literal.Number.Integer
+')' Punctuation
+' ' Text.Whitespace
+'e' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'n' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'50' Literal.Number.Integer
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'10 < N < 50' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'n' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'50' Literal.Number.Integer
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N = 50' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'N > 50' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'x' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'M' Literal.String
+'"' Literal.String
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'ou' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'x' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'masculino' Literal.String
+'"' Literal.String
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Sexo: masculino' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+' \n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'x' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'F' Literal.String
+'"' Literal.String
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'ou' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+' ' Text.Whitespace
+'x' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'"' Literal.String
+'feminino' Literal.String
+'"' Literal.String
+' ' Text.Whitespace
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Sexo: feminino' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Digite novamente!' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'a' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'b' Name
+')' Punctuation
+' ' Text.Whitespace
+'e' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'b' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'c' Name
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'maior' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'a' Name
+'\n ' Text.Whitespace
+'menor' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'c' Name
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'a' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'c' Name
+')' Punctuation
+' ' Text.Whitespace
+'e' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'c' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'b' Name
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'maior' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'a' Name
+'\n ' Text.Whitespace
+'menor' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'b' Name
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'b' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'a' Name
+')' Punctuation
+' ' Text.Whitespace
+'e' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'a' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'c' Name
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'maior' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'b' Name
+'\n ' Text.Whitespace
+'menor' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'c' Name
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'b' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'c' Name
+')' Punctuation
+' ' Text.Whitespace
+'e' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'c' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'a' Name
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'maior' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'b' Name
+'\n ' Text.Whitespace
+'menor' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'a' Name
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'se' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'c' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'a' Name
+')' Punctuation
+' ' Text.Whitespace
+'e' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'a' Name
+' ' Text.Whitespace
+'>=' Operator
+' ' Text.Whitespace
+'b' Name
+')' Punctuation
+' ' Text.Whitespace
+'entao' Keyword
+'\n ' Text.Whitespace
+'maior' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'c' Name
+'\n ' Text.Whitespace
+'menor' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'b' Name
+'\n ' Text.Whitespace
+'senao' Keyword
+'\n ' Text.Whitespace
+'maior' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'c' Name
+'\n ' Text.Whitespace
+'menor' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'a' Name
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n ' Text.Whitespace
+'fimse' Keyword
+'\n\n ' Text.Whitespace
+'escolha' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'n' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'1' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Janeiro' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'2' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Fevereiro' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'3' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Marco' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'4' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Abril' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'5' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Maio' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'6' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Junho' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'7' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Julho' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'8' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Agosto' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'9' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Setembro' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'10' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Outubro' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'11' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Novembro' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'caso' Keyword
+' ' Text.Whitespace
+'12' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+'Dezembro' Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'outrocaso' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'"' Literal.String
+"'Numero invalido'" Literal.String
+'"' Literal.String
+')' Punctuation
+'\n ' Text.Whitespace
+'fimescolha' Keyword
+'\n\n ' Text.Whitespace
+'enquanto' Keyword
+' ' Text.Whitespace
+'(' Punctuation
+'n' Name
+' ' Text.Whitespace
+'<' Operator
+'11' Literal.Number.Integer
+')' Punctuation
+' ' Text.Whitespace
+'faca' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'n' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'+' Operator
+' ' Text.Whitespace
+'1' Literal.Number.Integer
+'\n ' Text.Whitespace
+'fimenquanto' Keyword
+'\n\n ' Text.Whitespace
+'para' Keyword
+' ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'de' Name
+' ' Text.Whitespace
+'1' Literal.Number.Integer
+' ' Text.Whitespace
+'ate' Keyword
+' ' Text.Whitespace
+'10' Literal.Number.Integer
+' ' Text.Whitespace
+'faca' Keyword
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'n' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'fimpara' Keyword
+'\n\n ' Text.Whitespace
+'funcao' Keyword
+' ' Text.Whitespace
+'soma' Name.Function
+':' Operator
+' ' Text.Whitespace
+'inteiro' Keyword.Type
+'\n ' Text.Whitespace
+'var' Keyword
+' ' Text.Whitespace
+'aux' Name
+':' Operator
+' ' Text.Whitespace
+'inteiro' Keyword.Type
+'\n ' Text.Whitespace
+'inicio' Keyword
+'\n ' Text.Whitespace
+'// n, m e res são variáveis globais' Comment.Single
+'\n ' Text.Whitespace
+'aux' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'+' Operator
+' ' Text.Whitespace
+'m' Name
+'\n ' Text.Whitespace
+'retorne' Keyword
+' ' Text.Whitespace
+'aux' Name
+'\n ' Text.Whitespace
+'fimfuncao' Keyword
+'\n\n ' Text.Whitespace
+'res' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'soma' Name.Label
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'res' Name
+')' Punctuation
+'\n\n ' Text.Whitespace
+'funcao' Keyword
+' ' Text.Whitespace
+'soma' Name.Function
+' ' Text.Whitespace
+'(' Punctuation
+'x' Name
+',' Operator
+'y' Name
+':' Operator
+' ' Text.Whitespace
+'inteiro' Keyword.Type
+')' Punctuation
+':' Operator
+' ' Text.Whitespace
+'inteiro' Keyword.Type
+'\n ' Text.Whitespace
+'inicio' Keyword
+'\n ' Text.Whitespace
+'retorne' Keyword
+' ' Text.Whitespace
+'x' Name
+' ' Text.Whitespace
+'+' Operator
+' ' Text.Whitespace
+'y' Name
+'\n ' Text.Whitespace
+'fimfuncao' Keyword
+'\n\n ' Text.Whitespace
+'n' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'4' Literal.Number.Integer
+'\n ' Text.Whitespace
+'m' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'-' Operator
+'9' Literal.Number.Integer
+'\n ' Text.Whitespace
+'res' Name
+' ' Text.Whitespace
+'<-' Operator
+' ' Text.Whitespace
+'soma' Name.Label
+'(' Punctuation
+'n' Name
+',' Operator
+'m' Name
+')' Punctuation
+'\n ' Text.Whitespace
+'Pi' Keyword
+' ' Text.Whitespace
+'*' Operator
+' ' Text.Whitespace
+'10' Literal.Number.Integer
+'\n ' Text.Whitespace
+'escreva' Keyword
+'(' Punctuation
+'res' Name
+' ' Text.Whitespace
+'*' Operator
+' ' Text.Whitespace
+'Pi' Keyword
+' ' Text.Whitespace
+'*' Operator
+' ' Text.Whitespace
+'exp' Name
+'(' Punctuation
+'10' Literal.Number.Integer
+'))' Punctuation
+'\n' Text.Whitespace
+
+'Fimalgoritmo' Keyword
+'\n' Text.Whitespace