From cdedeefcc05069616f2c9b032c0db326fb2c4eb3 Mon Sep 17 00:00:00 2001 From: Erick Oliveira Date: Tue, 9 Jun 2020 22:50:01 -0300 Subject: [PATCH] =?UTF-8?q?Adicionar=20m=C3=A9todos=20visit=20implementado?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AbstractVisitor.py | 190 ++++++++++++++++++++++++----------------- 1 file changed, 113 insertions(+), 77 deletions(-) diff --git a/src/AbstractVisitor.py b/src/AbstractVisitor.py index 08b3552..ff2ec8d 100644 --- a/src/AbstractVisitor.py +++ b/src/AbstractVisitor.py @@ -112,7 +112,44 @@ def visitExpr_Divide(self, exprDivide): @abstractmethod def visitExpr_Equals(self, exprEqual): pass + + @abstractmethod + def visitExpr_NotEqual(self, exprNotEqual): + pass + + @abstractmethod + def visitExpr_GreatThan(self, exprGreatThan): + pass + + @abstractmethod + def visitExpr_GreatEqual(self, exprGreatEqual): + pass + + @abstractmethod + def visitExpr_LessThan(self, exprLessThan): + pass + + @abstractmethod + def visitExpr_LessEqual(self, exprLessEqual): + pass + @abstractmethod + def visitExpr_AndLogical(self, exprAndLogical): + pass + + @abstractmethod + def visitExpr_OrLogical(self, exprOrLogical): + pass + + + @abstractmethod + def visitExpr_NotLogical(self, exprOrLogical): + pass + + @abstractmethod + def visitExpr_ParenExpr(self, parenExpr): + pass + @abstractmethod def visitExpr_PreIncrement(self, exprPreIncrement): pass @@ -137,6 +174,26 @@ def visitExpr_AssignExpr(self, assignExpr): def visitExpr_AddAssignExpr(self, assignExpr): pass + @abstractmethod + def visitExpr_SubAssignExpr(self, subAssignExpr): + pass + + @abstractmethod + def visitExpr_ModAssignExpr(self, modAssignExpr): + pass + + @abstractmethod + def visitExpr_TimesAssignExpr(self, timesAssignExpr): + pass + + @abstractmethod + def visitExpr_DivideAssignExpr(self, divAssignExpr): + pass + + @abstractmethod + def visitExpr_ArrayDeclaration(self, exprArrayDecl): + pass + @abstractmethod def visitExpr_NumberInt(self, exprNumber): pass @@ -153,6 +210,18 @@ def visitExpr_EncapsedString(self, exprEncapsed): def visitExpr_Boolean(self, exprBoolean): pass + @abstractmethod + def visitExpr_Mod(self, exprMod): + pass + + @abstractmethod + def visitExpr_FunctionCall(self, exprFunctionCall): + pass + + #@abstractmethod + #def visitExpr_TypeCastOp(self, typeCastOp): + #pass + # ================ END P_EXPR =================== @abstractmethod @@ -246,7 +315,39 @@ def visitExpr_Variable(self, exprVariable): @abstractmethod def visitVariable_Single(self, variable): pass - + + @abstractmethod + def visitVariable_Array(self, variable): + pass + + @abstractmethod + def visitArrayDec_NoPairList(self, arrayDec): + pass + + @abstractmethod + def visitArrayDec_WithPairList(self, arrayDec): + pass + + @abstractmethod + def visitArrayPairList_ArrayPair_Single(self, arrayPairList): + pass + + @abstractmethod + def visitArrayPairList_ArrayPair_Mul(self, arrayPairList): + pass + + @abstractmethod + def visitArrayPair_Expr(self, arrayPair): + pass + + @abstractmethod + def visitArrayPairList_Mul(self, arrayPairList): + pass + + @abstractmethod + def visitArrayPairListArr_Single(self, arrayPairList): + pass + @abstractmethod def visitStatement_While(self, statement): pass @@ -362,64 +463,48 @@ def visitDie_ExitExpr(self, die): def visitDie_Empty(self): pass - ''' - - @abstractmethod - def visitExpr_Equals(self, exprEqual): - pass - @abstractmethod - def visitExpr_NotEqual(self, exprNotEqual): + def visitExpr_TernaryOp(self, exprTernary): pass @abstractmethod - def visitExpr_GreatThan(self, exprGreatThan): + def visitStatement_Continue(self, statement): pass @abstractmethod - def visitExpr_GreatEqual(self, exprGreatEqual): + def visitContinue_Expr(self, _continue): pass @abstractmethod - def visitExpr_LessThan(self, exprLessThan): + def visitContinue_Empty(self): pass @abstractmethod - def visitExpr_LessEqual(self, exprLessEqual): + def visitStatement_Return(self, statement): pass @abstractmethod - def visitExpr_AndLogical(self, exprAndLogical): + def visitReturn_Expr(self, _return): pass @abstractmethod - def visitExpr_OrLogical(self, exprOrLogical): + def visitReturn_Empty(self): pass @abstractmethod - def visitExpr_NotLogical(self, exprNotLogical): + def visitStatement_Foreach(self, statement): pass @abstractmethod - def visitExpr_ParenExpr(self, parenExpr): + def visitForeachStatement_NoAssoc(self, foreachStatement): pass @abstractmethod - def visitExpr_ArrayDeclaration(self, exprArrayDecl): + def visitForeachStatement_WithAssoc(self, foreachStatement): pass - @abstractmethod - def visitExpr_FunctionCall(self, exprFunctionCall): - pass - - @abstractmethod - def visitExpr_TernaryOp(self, exprTernary): - pass - - @abstractmethod - def visitExpr_TypeCastOp(self, typeCastOp): - pass + ''' @abstractmethod def visitStatementBlockOpt_ParenEmpty(): pass @@ -468,26 +553,10 @@ def visitStaticScalar_Minus_Static(): def visitCommonScalar_Token(): pass - @abstractmethod - def visitStatement_Continue(): - pass - - @abstractmethod - def visitStatement_Return(): - pass - @abstractmethod def visitStatementElse_Else(): pass - @abstractmethod - def visitStatement_Foreach(): - pass - - @abstractmethod - def visitStatement_Die(): - pass - @abstractmethod def visitStatement_Global(): pass @@ -559,49 +628,16 @@ def visitGlobalVarMul_Single(): @abstractmethod def visitGlobalVarMul_Mul(): pass - - @abstractmethod - def visitDie_Empty(): - pass - - @abstractmethod - def visitContinue_Expr(): - pass - - @abstractmethod - def visitContinue_Empty(): - pass - - @abstractmethod - def visitReturn_Expr(): - pass - - @abstractmethod - def visitReturn_Empty(): - pass @abstractmethod def visitSelectorWithExpr(): pass - @abstractmethod - def visitForeachStatement_NoAssoc(): - pass - - @abstractmethod - def visitForeachStatement_WithAssoc(): - pass - @abstractmethod def visitWhileStatementSingle(): pass - @abstractmethod - def visitStatementBlockOpt_Statement(): - pass - @abstractmethod def visitStatementBlockOpt_Empty(): pass - ''' \ No newline at end of file