Ao criar o DFA para o analisador léxico da minha linguagem de programação, cada caractere (por exemplo, n
, i
, f
) deve aparecer como um único nó compartilhado em todos os caminhos de token ou devo permitir nós duplicados para o mesmo caractere se eles aparecerem em caminhos diferentes (por exemplo, nós separados n
para int
, return
, e blank
)?
Quais são as compensações entre essas duas abordagens em termos de eficiência de implementação, clareza e correção?
insira a descrição da imagem aqui
Adicionei uma imagem para visualizar o que quis dizer.