Voy a implementar un tokenizador en Python y me pregunto si podrías ofrecer algunos consejos de estilo.Manera pitónica de implementar un tokenizer
He implementado un tokenizador antes en C y en Java, así que estoy de acuerdo con la teoría, solo me gustaría asegurarme de seguir los estilos y las mejores prácticas de Pythonic.
Listado de tipos de tokens:
En Java, por ejemplo, me gustaría tener una lista de campos de este modo:
public static final int TOKEN_INTEGER = 0
Pero, obviamente, no hay manera (creo) para declarar una constante variable en Python, así que podría reemplazar esto con declaraciones de variables normales, pero eso no me parece una gran solución, ya que las declaraciones podrían ser alteradas.
que vuelven tokens desde el Tokenizer:
hay una mejor alternativa a simplemente devolviendo una lista de tuplas, por ejemplo,
[ (TOKEN_INTEGER, 17), (TOKEN_STRING, "Sixteen")]?
Cheers,
Pete
Ooh, eso es inteligente. En cualquier caso, el enfoque iterador/generador se siente más natural que una lista de tokens. –