From 7539d652b3d1179e20b08834439b4ccac3f7c41f Mon Sep 17 00:00:00 2001
From: Lior Spach <ls12@inf.ufpr.br>
Date: Wed, 20 May 2015 00:23:16 -0300
Subject: [PATCH] c3

---
 compiler/Definicoes.scala | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 compiler/Definicoes.scala

diff --git a/compiler/Definicoes.scala b/compiler/Definicoes.scala
new file mode 100644
index 0000000..7258671
--- /dev/null
+++ b/compiler/Definicoes.scala
@@ -0,0 +1,23 @@
+
+package lexer
+
+trait Definicoes {
+  //Conjuntos
+  val palavrasReservadas = List("begin", "end", "function", "procedure", "var", "program",
+                                "label","integer","goto","if","then","else","read","write",
+                                "while","do")
+  val letras = List.concat('a' to 'z', 'A' to 'Z', "_")
+  val numeros = ('0' to '9').toList
+  val separadores = List(' ', '\t', '\n', ';',',',':')
+  val operadores = 
+    "+ - * / += -= *= /= ++ -- = < > <= >= <> :=".split(" ").toList 
+    
+  //Funcoes booleanas
+  val operadorValido = (s: String) => operadores.contains(s)
+  val ehNum = (c: Char) => numeros.contains(c)
+  val ehOp = (c: Char) => "+-*/=:><".contains(c)
+  val ehLetra = (c: Char) => letras.contains(c)
+  val ehEspacoLinTab = (c: Char) => c == ' ' || c == '\t' || c == '\n' || c == 13
+  val ehSeparador = (c: Char) => separadores.contains(c)
+  val ehPalavraReservada = (s: String) => palavrasReservadas.contains(s)
+}
\ No newline at end of file
-- 
GitLab