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?

Foi útil?

Solução

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top