예제 #1
0
void SoyFunc::accept(ASTVisitor& visitor)
{
	visitor.visit(*this);
	for(auto it = children.begin() ; it != children.end() ; ++it)
		(*it)->accept(visitor);

}
예제 #2
0
파일: main.cpp 프로젝트: andy9775/rcc
void testparse(char *file)
{
   if(!newfile(file)) return;
   //symbolTable.pushScope();
   yyparse();
   ASTVisitor visitor;
   visitor.visit(astRoot);
   //ASTCGen cgen;
   //cout << cgen.visit(astRoot) << endl;
   TypeChecker typecheck;
   typecheck.visit(astRoot);
   //delete symbolTable.popScope();

}
예제 #3
0
 void VariableNode::accept(ASTVisitor& visitor) {
     visitor.visit(*this);
 }
예제 #4
0
void ASTRevokePriv::accept(ASTVisitor &v)
{
    v.addToPath(this);
    v.visit(*this);
    v.removeFromPath(this);
}
예제 #5
0
void ReturnNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #6
0
void BlockStatementNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #7
0
void UnaryNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #8
0
void IntegerNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #9
0
void FuncallNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #10
0
void Declaration::accept(ASTVisitor &v) { v.visit(*this); }
예제 #11
0
void LoopStatement::accept(ASTVisitor &v) { v.visit(*this); }
예제 #12
0
 void TernaryOperatorNode::accept(ASTVisitor& visitor) {
     visitor.visit(*this);
 }
예제 #13
0
 void UnionNode::accept(ASTVisitor& visitor) {
     visitor.visit(*this);
 }
예제 #14
0
void ASTElementTest::accept(ASTVisitor &v)
{
    v.addToPath(this);
    v.visit(*this);
    v.removeFromPath(this);
}
예제 #15
0
 void ParamAnnotationNode::accept(ASTVisitor& visitor) {
     visitor.visit(*this);
 }
예제 #16
0
void ASTDropIndex::accept(ASTVisitor &v)
{
    v.addToPath(this);
    v.visit(*this);
    v.removeFromPath(this);
}
void VarInferTypeDeclarationNode::accept(ASTVisitor& visitor) { visitor.visit(this); }
예제 #18
0
void ExpressionStatement::accept(ASTVisitor &v) { v.visit(*this); }
예제 #19
0
void BooleanNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #20
0
void ReturnStatement::accept(ASTVisitor &v) { v.visit(*this); }
예제 #21
0
void AssignmentNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #22
0
void ScopeStatement::accept(ASTVisitor &v) { v.visit(*this); }
예제 #23
0
void FunctionDefNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #24
0
void ASTDefNamespaceDecl::accept(ASTVisitor &v)
{
    v.addToPath(this);
    v.visit(*this);
    v.removeFromPath(this);
}
예제 #25
0
void DoWhileStatementNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #26
0
		void ReturnStatement::accept(ASTVisitor& visitor) const
		{
			visitor.visit(std::static_pointer_cast<ReturnStatement const>(shared_from_this()));
		}
예제 #27
0
void VarNode::accept( ASTVisitor& visitor ) {
  visitor.visit( (*this) );
}
예제 #28
0
void ForInitializer::accept(ASTVisitor& visitor)
{
	visitor.visit(*this);
	for(auto it = children.begin() ; it != children.end() ; ++it)
		(*it)->accept(visitor);
}
예제 #29
0
void StringNode::accept(ASTVisitor& visitor) { visitor.visit(this); }
void TemplateFunctionNode::accept(ASTVisitor& visitor) { visitor.visit(this); }