Il diagramma di grammatica cui si fa riferimento è stato ampiamente utilizzato per documentare la sintassi Pascal. È fondamentalmente il diagramma di flusso di come viene analizzato il codice sorgente. Ogni "blocco" del grafico, nel tuo esempio, 'spazio bianco', è come una chiamata di funzione. Tecnicamente stiamo parlando di un parser di discesa ricorsivo.
Quindi il mio modo di pensare è:
Il parser ottiene un personaggio dal flusso di input.Quindi andiamo a "provare" la funzione spazio bianco, se quel carattere è uno spazio, una tabulazione, un fine riga o un carattere '/' andiamo al passo successivo, altrimenti non usciamo con un valore di ritorno 'non trovato'.
Se era un '/', otteniamo il carattere successivo. Se si tratta di un altro '/', leggiamo i caratteri fino a quando non si ottiene una fine riga e quindi si esce con il valore di ritorno 'trovato'.
Se il carattere successivo è un '', allora leggiamo tutto ciò che non è un '/' o ''. ecc ...
Fondamentalmente il flusso va da sinistra a destra, ma quando una linea torna indietro a sinistra abbiamo una ripetizione. La cosa bella di questi diagrammi è che una volta capito, è facile scrivere rapidamente codice sintatticamente corretto. E puoi piuttosto facilmente codificare il parser di discesa ricorsivo seguendo il 'diagramma di flusso'.
In sostanza, spazi, tabulazioni e caratteri nuova linea sono tutti considerati spazi bianchi, così come tutti i commenti. – Brad
Avevo difficoltà a cercare di capire cosa la sintassi del commento avesse a che fare con lo spazio bianco, ma adesso ha senso con la risposta di Brad. –
Adesso capisco. Ma per quanto riguarda la struttura? Ancora un po 'di confusione con gli esempi della sezione successiva:/Devo saltare il capitolo della grammatica e andare con gli oggetti? – RufioLJ