Miremos la línea
`a = imprimir('que hay', 9)+qso`
separado en tokens queda convertida en una lista
`['a', '=', 'imprimir', '(', '"que hay"', ',', '9', ')','+','qso']`
Por simplicidad sólo mostrados el contenido textual, pero también sabemos que es cada cosa gracias a la función `catalog()`.
El parser toma el primer token disponible y lo examina. En este caso, es un IDENTIFICADOR. Esto le dice al parser que viene una asignación (el lenguaje no deja alternativa), por lo que decide llamar a la función `asignacion()`, que se encargará de procesar el resto.