Home
Accesso / Registrazione
 di 

Programmazione orientata agli oggetti in ANSI-C. Tabella dei simboli - esercizi

ANSI-C programmazione

Le nuove keywords sono necessarie per implementare concetti come i cicli while e repeat, così come per implementare le istruzioni if. Il riconoscimento delle espressioni è affidato nella pratica a stmt() ma nella maggior parte dei casi non è un problema di ereditarietà quanto piuttosto riguarda proprio la costruzione stessa del compilatore.

Una volta che si è deciso sul tipo di istruzione da implementare, costruiremo i tipi di nodo quali While, Repeat o IFElse e le keywords nella tabella dei simboli non necessitano di conoscere la loro esistenza.

Le funzioni che prevendono l'uso di due argomenti come ad esempio atan2() sono un po' più interessanti. Dal punto di vista della tabella dei simboli, le funzioni sono gestite proprio come funzioni semplici ma per l'albero delle espressioni dobbiamo inventare un nuovo tipo di nodo con 3 discendenti.

Le funzioni definite dall'utente pongono inoltre un problema molto interessante. Non è così difficile rappresentare il singolo parametro con un $ e con l'uso di un nodo di tipo Parm per puntare all'indietro all'entry della funzione nella tabella dei simboli dove possiamo temporaneamente memorizzare il valore dell'argomento se non permettiamo che vi sia ricorsione. Le funzioni con più parametri o funzioni che accettano un numero variabile di parametri sono molto più complesse da gestire. E' un ottimo esercizio investigare i benefici dell'ereditarietà e del dynamic linkage.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ultimi Commenti