Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Algoritmi - Implementazione degli abstract syntax tree
Forum - Algoritmi - Implementazione degli abstract syntax tree

Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 12:53
Martedì, 31/12/2013
Ho scritto questa grammatica per dichiarare variabili e record.

Codice sorgente - presumibilmente Algoritmi

  1. D-> T id; | D T id;
  2. T-> B | record { D }
  3. B-> int | float



Se al parser do per esempio questo input:

record { int a; float b; }t; float c;

gli ho fatto generare questo AST :

     record t
     /           \
   int a        float c
    |               |
   float b     null
    |
   null

Oppure se do in input:

int a; record { int b }p;

Il parser genera:

              int a
                |
            record p
             /          \
         int b       null
           |
        null

Quello che vorrei sapere è: sono logicamente corretti?
Grazie in anticipo.

Ultima modifica effettuata da dmr il 31/12/2013 alle 13:05
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:20
Martedì, 31/12/2013
Se utilizzi la brancia piu' a destra per collegarti alla prossima istruzione, si sono corretti.


Il mio blog: https://piero.dev
PM Quote
Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 17:22
Martedì, 31/12/2013
Perfetto ! Grazie Piero, buon fine anno !!

PM Quote