Chiamata di metodo ricorsiva

All'interno dell'implementazione, un metodo può chiamare se stesso, sia direttamente tramite il puntatore ‎THIS‎, sia tramite una variabile locale per il blocco di funzioni assegnato.

  • <variabile valore di ritorno> := <nomePOU> . <nome del metodo> ( <passaggio degli argomenti> );

    Chiamata diretta dell'istanza del blocco funzione in questione con il puntatore ‎THIS‎

  • <variabile valore di ritorno> := <nomePOU> . <nome del metodo> ( <passaggio degli argomenti> );

    Chiamata tramite una variabile locale del metodo che istanzia temporaneamente il relativo blocco funzione

Viene emesso un avviso del compilatore nel caso di un'operazione ricorsiva di tipo ⮫ chiamare. Se il metodo è fornito con il pragma ‎{attribute 'estimated-stack-usage' := '<estimated stack size in bytes>'}‎, l'avviso del compilatore viene soppresso.

Per un esempio di implementazione, vedere la sezione "Attributo: ⮫ 'estimated-stack-usage'" capitolo.

Per chiamare i metodi in modo ricorsivo, non è sufficiente specificare solo il nome del metodo. Se viene specificato solo il nome del metodo, viene emesso un errore del compilatore: «Nome del programma, funzione o istanza del blocco funzione previsti al posto di»