Analizzatore lessicale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: piccoli errori di battitura
m sostituzione html della tabella con wikicodice
Riga 27:
 
Ci aspetteremo che l'output sia formato dai seguenti tokens:
{|
<table>
! Tipo token
<tr><th>Tipo! token</th><th>Lessema (valore del token)</th></tr>
<tr><td>numero</td><td>123</td></tr>
|-
<tr><td>operatore</td><td>+</td></tr>
| numero
<tr><td>numero</td><td>141</td></tr>
| 123
<tr><td>operatore</td><td>/</td></tr>
|-
<tr><td>numero</td><td>725</td></tr>
| operatore
</table>
| +
|-
| numero
| 141
|-
| operatore
| /
|-
| numero
| 725
|}
 
Da notare come gli spazi bianchi vengano saltati.
Riga 47 ⟶ 58:
Nel caso del nostro esempio, <code>123 + 141 / 725</code>, gli spostamenti tra gli stati sarebbero stati i seguenti:
 
<table{| border="1">
! Carattere
<tr><th>Carattere</th><th>Stato Attuale</th><th>Azione</th></tr>
! Stato Attuale
<tr><td>1</td><td>1</td><td>Vai a stato (2)</td></tr>
! Azione
<tr><td>2</td><td>2</td><td>Vai a stato (2)</td></tr>
|-
<tr><td>3</td><td>2</td><td>Vai a stato (2)</td></tr>
| 1
<tr><td>+</td><td>2</td><td>Vai a stato (3)</td></tr>
| 1
<tr><td>+</td><td>3</td><td>Produci token di tipo Numero e valore 123</td></tr>
<tr><td>+</td><td>1</td><td>| Vai a stato (42)</td></tr>
|-
<tr><td>+</td><td>2</td><td>Produci token di tipo Operatore e valore +</td></tr>
| 2
<tr><td>1</td><td>1</td><td>Vai a stato (2)</td></tr>
| 2
<tr><td>4</td><td>2</td><td>Vai a stato (2)</td></tr>
<tr><td>1</td><td>2</td><td>| Vai a stato (2)</td></tr>
|-
<tr><td>/</td><td>2</td><td>Vai a stato (3)</td></tr>
| 3
<tr><td>/</td><td>3</td><td>Produci token di tipo Numero e valore 141</td></tr>
| 2
</table>
| Vai a stato (2)
|-
| +
| 2
| Vai a stato (3)
|-
| +
| 3
<tr><td>+</td><td>3</td><td>| Produci token di tipo Numero e valore 123</td></tr>
|-
| +
| 1
| Vai a stato (4)
|-
| +
| 2
<tr><td>+</td><td>2</td><td>| Produci token di tipo Operatore e valore +</td></tr>
|-
| 1
| 1
| Vai a stato (2)
|-
| 4
| 2
| Vai a stato (2)
|-
| 1
| 2
| Vai a stato (2)
|-
| /
| 2
| Vai a stato (3)
|-
| /
| 3
<tr><td>/</td><td>3</td><td>| Produci token di tipo Numero e valore 141</td></tr>
|}
e cosi via...