diff --git a/src/main/scala/sintatico/Expr.scala b/src/main/scala/sintatico/Expr.scala
index 02ad93f544243724442aceb835ab2463e5315a97..5dfefa63717d84ac5b3fc6b4e89d90bd465ce1c2 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