Utilizando a estrutura de dados de dicionário de lex / yacc
-
22-07-2019 - |
Pergunta
Eu estou escrevendo um assembler para um microprocessador Estou criando usando lex / yacc.
Eu gostaria de implementar rótulos no meu código assembler, e eu pensei que uma boa maneira de fazer isso seria ter um dicionário de etiquetas na forma {name: linha #}. Eu poderia, então, verificar ao inserir um rótulo, se ele já está definido, o seu um erro.
Então, como posso usar uma estrutura de dicionário na lex / yacc?
Solução
as várias implementações de tabela de hash para encontrar um que quiser.
Outras dicas
Para etiquetas? Criar uma estrutura com um ponteiro de arquivo, e de aplicação de que a posição do rótulo encontrado. E quando você se deparar com a declaração rótulo, acesso esse ponteiro e preenchimento que em branco com locctr.