Micro C Compiler - MCC
Loading...
Searching...
No Matches
test_parser.c File Reference

Programa de teste (driver) para o Analisador Sintático. More...

#include <stdio.h>
#include "parser.h"
#include "ast.h"

Functions

void imprimir_ast (ASTNode *no, int indent_level)
 Imprime recursivamente a estrutura da Árvore Sintática Abstrata no console.
 
int main (int argc, char *argv[])
 Ponto de entrada principal para o programa de teste do parser.
 

Detailed Description

Programa de teste (driver) para o Analisador Sintático.

Este programa não faz parte do compilador final, mas serve como uma ferramenta de desenvolvimento para validar a fase de análise sintática. Ele opera de forma independente, seguindo estes passos:

  1. Carrega a lista de tokens do arquivo 'tokens.txt'.
  2. Invoca o parser para construir a Árvore Sintática Abstrata (AST).
  3. Imprime a AST de forma legível no console para verificação visual.
  4. Libera toda a memória alocada.

Function Documentation

◆ imprimir_ast()

void imprimir_ast ( ASTNode no,
int  indent_level 
)

Imprime recursivamente a estrutura da Árvore Sintática Abstrata no console.

Esta função percorre a árvore em pré-ordem, usando a indentação para exibir claramente a hierarquia entre os nós (pais, filhos e irmãos). É a principal ferramenta para verificar visualmente se o parser construiu a árvore corretamente.

Parameters
noO nó da AST a partir do qual a impressão deve começar.
indent_levelO nível de profundidade atual na árvore, usado para calcular a indentação.

◆ main()

int main ( int  argc,
char *  argv[] 
)

Ponto de entrada principal para o programa de teste do parser.

  • Orquestra todo o fluxo de teste: carregamento de tokens, execução do parser, impressão da AST e limpeza da memória.
  • Parameters
    argcNúmero de argumentos da linha de comando (não utilizado).
    argvVetor de strings com os argumentos da linha de comando (não utilizado).
    Returns
    0 em caso de sucesso, ou um código de erro em caso de falha.