void StatementMientrasNode::ValidateSemantic() { if(Expression->ValidateSemantic()->Name!="Booleano") { throw SemanticException("Se esperaba Booleano ,Fila:"+to_string(Expression->Row)+",Columna:"+to_string(Expression->Column)); } list<StatementNode*>::const_iterator iterator; StatementNode* temp; for (iterator = Statements->begin(); iterator != Statements->end(); ++iterator) { temp=*iterator; temp->ValidateSemantic(); } }
void StatementParaNode::ValidateSemantic() { if(Variable->ValidateSemantic()->Name!="Entero") { throw SemanticException("Se esperaba Entero ,Fila:"+to_string(Variable->Row)+",Columna:"+to_string(Variable->Column)); } if(FirstExpression->ValidateSemantic()->Name!="Entero") { throw SemanticException("Se esperaba Entero ,Fila:"+to_string(FirstExpression->Row)+",Columna:"+to_string(FirstExpression->Column)); } if(SecondExpression->ValidateSemantic()->Name!="Entero") { throw SemanticException("Se esperaba Entero ,Fila:"+to_string(SecondExpression->Row)+",Columna:"+to_string(SecondExpression->Column)); } list<StatementNode*>::const_iterator iterator; StatementNode* temp; for (iterator = Statements->begin(); iterator != Statements->end(); ++iterator) { temp=*iterator; temp->ValidateSemantic(); } }