Supponiamo di avere una grammatica del tipo:
object
{ members }
members
pair
pair
string : value
value
number
string
string
" chars "
chars
char
char chars
number
digit
digit number
Potrei analizzare il seguente esempio: { "one" : 1234 }
Per quanto ho capito, dovrei avere i token object
, members
, pair
, value
, string
e chars
.
Il tokenizzazione dell'esempio dovrebbe produrre
object
->members
->pair
->"one"
->"1234"
L'analisi dei token dovrebbe produrre
object
->pair
->"one"
->1234
Mi sembra che il tokenizer sia inutile o non capisco cosa dovrebbe fare.
Qual è la responsabilità di un tokenizzatore? Qual è il vantaggio di un tokenizzatore rispetto all'analisi della stringa originale?