func (this Sub) Accept(visitor interfaces.Visitor, context interface{}) interface{} {

	returnValue := visitor.VisitSub(this, context)
	acceptLHSAndRHS(this, visitor, context)

	return returnValue
}
func (this VarDecl) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	returnValue := visitor.VisitVarDecl(this, context)

	this.VariableIdentifier().Accept(visitor, context)

	return returnValue
}
func (this VarExpr) Accept(visitor interfaces.Visitor, context interface{}) interface{} {

	returnValue := visitor.VisitVarExpr(this, context)
	this.VarIdentifier().Accept(visitor, context)

	return returnValue
}
func (this Pos) Accept(visitor interfaces.Visitor, context interface{}) interface{} {

	returnValue := visitor.VisitPos(this, context)
	this.Value().Accept(visitor, context)

	return returnValue
}
func (this Form) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	returnValue := visitor.VisitForm(this, context)

	this.Identifier().Accept(visitor, context)
	this.Content().Accept(visitor, context)

	return returnValue
}
func (this InputQuestion) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	returnValue := visitor.VisitInputQuestion(this, context)

	this.Label().Accept(visitor, context)
	this.VarDecl().Accept(visitor, context)

	return returnValue
}
func (this If) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	returnValue := visitor.VisitIf(this, context)

	this.Condition().Accept(visitor, context)
	this.Body().Accept(visitor, context)

	return returnValue
}
func (this StmtList) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	returnValue := visitor.VisitStmtList(this, context)

	for _, question := range this.Questions() {
		question.Accept(visitor, context)
	}

	for _, conditional := range this.Conditionals() {
		conditional.Accept(visitor, context)
	}

	return returnValue
}
func (this VarID) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	return visitor.VisitVarID(this, context)
}
func (this StringType) Accept(visitor interfaces.Visitor, context interface{}) interface{} {
	returnValue := visitor.VisitStringType(this, context)

	return returnValue
}
func (this IntegerLiteral) Accept(visitor interfaces.Visitor, context interface{}) interface{} {

	returnValue := visitor.VisitIntegerLiteral(this, context)

	return returnValue
}