/small-c2mips

Small C to MIPS compiler

Primary LanguageCGNU General Public License v3.0GPL-3.0

/*  CTM - C TO MIPS
 *  Copyright (c) 2022 Leonardo Z. Nunes
 *
 *  this program is free software: you can redistribute it and/or modify
 *  it under the terms of the gnu general public license as published by
 *  the free software foundation, either version 3 of the license, or
 *  (at your option) any later version.
 *
 *  this program is distributed in the hope that it will be useful,
 *  but without any warranty; without even the implied warranty of
 *  merchantability or fitness for a particular purpose.  see the
 *  gnu general public license for more details.
 *
 *  you should have received a copy of the gnu general public license
 *  along with this program.  if not, see <http://www.gnu.org/licenses/>.
 */
#ifndef CTM_H
#define CTM_H

#include "ctm_symtab.h"
#include "ctm_codegen.h"
#include "ctm_scanner.h"
#include "ctm_parser.h"
#include "ctm_semantic.h"

#include <stdio.h>

typedef struct ctm Ctm_t;

struct ctm
{
    CtmScanner_t * scanner;
    CtmSymtab_t * symtab;
    CtmParser_t * parser;
};

void ctm(FILE *);

void create(Ctm_t **);

void compiler(Ctm_t **);

#endif