From 20e39468eb99be4fd382e0c7c16b70fc76e76693 Mon Sep 17 00:00:00 2001 From: Lior Spach <ls12@inf.ufpr.br> Date: Wed, 27 May 2015 01:45:36 -0300 Subject: [PATCH] Update Expr.scala --- src/main/scala/sintatico/Expr.scala | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/scala/sintatico/Expr.scala b/src/main/scala/sintatico/Expr.scala index 02ad93f..5dfefa6 100644 --- a/src/main/scala/sintatico/Expr.scala +++ b/src/main/scala/sintatico/Expr.scala @@ -1 +1,25 @@ package sintatico + +abstract trait Molecula +case class Program(name:String, inOut:String*) extends Molecula +case class Variavel(id:String,tipo:String) extends Molecula +case class DecVariaveis(vars:Variavel*) extends Molecula + +abstract class DecFunPro extends Molecula +case class DecProcedimento(id:String,params:Parametros*) extends DecFunPro +case class DecFuncao(id:String,tipoRet:String,params:Parametros*) extends DecFunPro +case class Parametros(id:String,modo:String,tipo:String) extends Molecula + + +abstract trait Comando extends Molecula +case class Bloco(comandos:Comando*) extends Comando +case class Atribuicao(id:String,op:String,expr:ExprInt) extends Comando + +abstract trait Chamada extends Comando +case class ChamadaFuncao(id:String,Args:Argumento*) extends Chamada +case class ChamadaProcedimento(id:String,Args:Argumento*) extends Chamada +class Argumento() + +class Expr extends Comando +class ExprInt extends Expr +class ExprBool extends Expr \ No newline at end of file -- GitLab