2013-04-10 3 views

risposta

2

Come "diagramma della ferrovia", questo ha alcune proprietà in comune con un binario ferroviario.

Entrando nel diagramma da sinistra, quando si arriva al primo interruttore, non è possibile andare a sinistra oa destra. Proprio come un interruttore ferroviario, l'interruttore diagramma ha due tracce convergenti, ma non c'è modo di passare da una di queste all'altra.

L'interruttore sul lato destro, tuttavia, con il traffico proveniente da sinistra, offre le opzioni di seguire uno dei percorsi divergenti, terminando o ripetendo in modo efficace la regola della sintassi.

Così il diagramma definisce le istanze di spazi bianchi da comporre di qualsiasi numero positivo di spazi, tabulazioni, fine riga o commenti.

-1

Sembra che stia solo dicendo che puoi usare anche "nessun carattere".

+0

Questo è chiaramente sbagliato. Quella linea indica una ripetizione, non un bypass. – Gunther

+0

Sì ... vedo ora. – user2383777

0

I diagrammi di una ferrovia con una barra su ciascuna estremità consentono di inserire spazi tra qualsiasi coppia di gettoni. Diagrammi ferroviari con due barre a ciascuna estremità non lo fanno. Qui le due barre impediscono a un diagramma di spazi bianchi di consentire spazi bianchi all'interno di uno spazio bianco (un'assurdità logica).

Il ciclo esterno (quello a cui si riferisce la domanda), torna indietro dall'output all'ingresso. Permette di inserire consecutivamente i caratteri consentiti fintanto che il carattere di partenza si trova nell'insieme {spazio, tab, fine riga, /}. Quindi "/ * qwerty * // * un altro qwerty * /" è uno spazio bianco accettabile ma "/ * qwerty */q" non lo è.