O compilador possui algumas flags que podem ser usadas ao executar make run para controlar o comportamento da execução:
-
--tree: Gera a árvore de AST (Abstract Syntax Tree).
Cria um arquivo ou representação visual da árvore de parse da entrada. -
--tables: Gera os arquivos de tabelas.
Cria arquivos que armazenam informações internas do compilador, como tabelas de símbolos, variáveis e funções. -
--interpreter: Ativa o interpretador.
Executa o código Go diretamente, interpretando as instruções sem gerar código intermediário. -
--compiler: Ativa o compilador.
Gera o código assembly (program.asm) correspondente à entrada, permitindo execução posterior ou análise do código gerado.
Essas flags podem ser combinadas para executar múltiplas funcionalidades ao mesmo tempo. Por exemplo:
make run FILE=arquivo.go --tree --tables --compiler --interpreter (Ativa tudo)