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