Non dovresti chiamare parse dopo aver visto callSomething()
(suppongo che tu intendessi callSomething
piuttosto che doSomething
). La differenza tra a
e callSomething
è che una è una definizione di metodo mentre l'altra è una chiamata di metodo.
Quando vedi una nuova definizione, ti consigliamo di fare dei controlli per assicurarti di poter aggiungere quella definizione, quindi:
- Controlla se la funzione non esiste già con la stessa firma
- Accertarsi che la dichiarazione del metodo sia eseguita nel campo di applicazione appropriato (vale a dire che i metodi possono essere dichiarati all'interno di altre dichiarazioni di metodo?)
Supponendo che questi controlli superino, puoi aggiungerlo alla tua mappa e iniziare a controllare i contenuti di quel metodo.
Quando trovi una chiamata di metodo simile callSomething()
, devi eseguire i seguenti controlli:
- Esiste
callSomething
nella tua mappa?
- Viene chiamato correttamente (il numero di argomenti corrisponde alla firma che hai trovato)?
- Gli argomenti sono validi (se vengono utilizzati nomi di variabili, vengono dichiarati? È possibile accedervi in questo ambito?)?
- CallSomething può essere chiamato da dove ti trovi (è privato, pubblico, protetto?)?
Se trovi che callSomething()
va bene, a questo punto quello che vorresti fare davvero dipende da come desideri affrontarlo. A rigor di termini, una volta che sai che una tale chiamata va bene a questo punto, puoi solo salvare il nome del metodo e gli argomenti senza entrare in ulteriori dettagli. Quando esegui il tuo programma, invocherai il metodo con gli argomenti che dovresti avere in fase di esecuzione.
Se si desidera andare oltre, è possibile salvare non solo la stringa ma un collegamento al metodo effettivo. Questo sarebbe più efficiente, ma se devi gestire la memoria, può diventare confuso. Vorrei raccomandare semplicemente di tenere la stringa all'inizio. Successivamente puoi provare a ottimizzare.
Si noti che tutto questo presuppone che tu abbia lasciato il tuo programma, il che significa che hai riconosciuto tutti i token nel tuo programma e sai quali sono . Questo non vuol dire che sai se hanno ancora senso insieme, che è la fase di analisi. Se non sai ancora quali sono i token, ti suggerisco di concentrarti innanzitutto sull'ottenere tali informazioni.
Spero che aiuti! Benvenuti in Programmers SE!