Si può chiamare un void loop all'interno di un altro void?

Scusate... Adesso mi sono presentato e ho letto il regolamento.
il codice riscritto dovrebbe essere questo, ma da errore...

#include <Servo.h>
Servo Testa;

int angle2;

int triggerPort = 7; //uscita segnale trigger
int echoPort = 8;//ingresso echo


int servopin = 2;
int servopin2 = 3;
int angle;
int pulsewidth;
int conta = 0;

void letturadistanza (int triggerPort){
      digitalWrite( triggerPort, LOW );  //setta al livello logico 0 la porta trigger
 
//invia un impulso di 10microsec su trigger
digitalWrite( triggerPort, HIGH );//setta al livello logico 1 (5V) la porta trigger
delayMicroseconds( 10 ); //ritardo di 10 microsecondi
digitalWrite( triggerPort, LOW ); //setta al livello logico 0 la porta trigger
 
long duration = pulseIn( echoPort, HIGH ); //long variabili a 32bit, duration nome della variabile
     // mette dentro duration il tempo che trascorre prima che echoPort diventa allo stato logico1
long r = 0.034 * duration / 2; //long variabili a 32bit, r nome della variabile
                               //mette dentro r 
Serial.print( "durata: " );  //scrive sul monitor la scritta tra ""
Serial.print( duration ); //scrive sul monitor la la variabile tra()
Serial.print( " , " ); //scrive sul monitor la scritta tra ""
Serial.print( "distanza: " ); //scrive sul monitor la scritta tra ""
 
//dopo 38ms è fuori dalla portata del sensore, adesso fino a 50ms
if( duration > 50000 ) Serial.println( "fuori portata");
else { Serial.print( r ); Serial.println( "cm" );}
 
//aspetta 1.5 secondi
delay( 500 );
}

void servopulse(int servopin,int angle){
        pulsewidth=(angle*11)+500;
     digitalWrite (servopin,HIGH);
     delayMicroseconds (pulsewidth);
     digitalWrite (servopin,LOW);
     delay (15);
     }
   
void servopulse2(int servopin2,int angle){
        pulsewidth=(angle*11)+500;
     digitalWrite (servopin2,HIGH);
     delayMicroseconds (pulsewidth);
     digitalWrite (servopin2,LOW);
     delay (15);
     }
void setup()
{
  Testa.attach(4);
 
  pinMode (servopin,OUTPUT);
  pinMode (servopin2,OUTPUT);
  
  pinMode( triggerPort, OUTPUT );// triggerPort è una porta in uscita
pinMode( echoPort, INPUT );    // echoPort è una porta in ingresso
Serial.begin( 9600 );    //imposta la porta seriale del monitor a 9600
Serial.println( "Sensore ultrasuoni: ");  //scrive sul monitor la scritta tra ""
  }
  void loop()
  {
inizio:
     conta=5;
cammina:   
     
void (letturadistanza)
if (duration < 500) {goto cammina;}
     
         
     
     
     conta--;
    for (angle=72; angle<=90; angle++){
          servopulse (servopin, angle);
          }
    for (angle=105; angle>=90; angle--){
          servopulse2 (servopin2, angle);
          }      
  delay(200);
  
  
    for (angle=90; angle<=108; angle++){
          servopulse (servopin, angle);
          }
    for (angle=90; angle>=75; angle--){
          servopulse2 (servopin2, angle);
          }
  delay(200);
  
    for (angle=108; angle>=90; angle--){
          servopulse (servopin, angle);
          }
    for (angle=75; angle<=90; angle++){
          servopulse2 (servopin2, angle);
          }
  delay(200);
  
    for (angle=90; angle>=72; angle--){
          servopulse (servopin, angle);
          }
    for (angle=90; angle<=105; angle++){
          servopulse2 (servopin2, angle);
          }
  delay(200);
  
    if (conta==0) {goto testaa;}
      else {goto cammina;}
  
  // per far riallineare l'insetto---------------------------------------
   
testaa:   
    for (angle=72; angle<=90; angle++){
          servopulse (servopin, angle);
          }
    for (angle=105; angle>=90; angle--){
          servopulse2 (servopin2, angle);
          }      
  delay(200);
  
    
          
     //-----------------------------------qui sotto gira la testa------------------------------
        
    for (angle2=90; angle2>=0; angle2--){ //ciclo for che sposta l'angolo del servo
   
   
   //Posizione = analogRead (Pot);
   //Gradi=map(90);
   
   Testa.write(angle2);
   delay(30);}
   
   delay(2000);
   //------------------------------
  
    
    
    
     for (angle2=0; angle2<=45; angle2++){ //ciclo for che sposta l'angolo del servo
   
   
   Testa.write(angle2);
   delay(30);}
   
   
   delay(2000);
   
  
   //-----------------------------
   
   for (angle2=45; angle2<=90; angle2++){ //ciclo for che sposta l'angolo del servo
   
   
   
   
   Testa.write(angle2);
   delay(30);}
   
   delay(2000);
   //-----------------------------
   for (angle2=90; angle2<=135; angle2++){ //ciclo for che sposta l'angolo del servo
   
   
   
   
   Testa.write(angle2);
   delay(30);}
   
   delay(2000);
   //-----------------------------
   for (angle2=135; angle2<=180; angle2++){ //ciclo for che sposta l'angolo del servo
   
   
   
   Testa.write(angle2);
   delay(30);}
   
   delay(2000);
   //-----------------------------
   
      
   for (angle2=180; angle2>=90; angle2--){ //ciclo for che sposta l'angolo del servo
   
   
  
   
   Testa.write(angle2);
   delay(30);}
   
   delay(2000);

   
   
      
        
   }

Questo è l'errore che mi da:

insettolentgiusto3.ino: In function 'void loop()':
insettolentgiusto3:84: error: expected `;' before 'if'