diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 60 |
1 files changed, 0 insertions, 60 deletions
@@ -1,60 +0,0 @@ -#include <stdio.h> -#include <program.h> -#include <lexer.h> -#include <string.h> -#include <parser.h> -#include <print.h> - - - -int main(int argc,char **argv) -{ - struct Options *options; - struct Source *source; - struct Program *program; - struct Translation_Data *translation_data; - struct AST* translation_unit; - - options=parse_command_line(argc,argv); - if(options->src_name==NULL) - { - printf("No source file specified\n"); - return 0; - } - source=extract_source(strndup(options->src_name,100)); - translation_data=get_translation_data(); - - if(options->target==OPTION_TARGET_TOKENS || options->target==OPTION_TARGET_AST) - { - lex(translation_data->tokens,source,translation_data); - if(translation_data->errors->size>0) - { - printf("There was an error!\n"); - print_tokens(translation_data->tokens); - return 1; - }else if(options->target==OPTION_TARGET_TOKENS) - { - print_tokens(translation_data->tokens); - }else if(options->target==OPTION_TARGET_AST) //we check because we will probably add more options - { - translation_unit=parse_unit(translation_data); - if(has_new_errors(translation_data)) - { - print_errors(translation_data); - return 1; - }else - { - print_ast(translation_unit); - delete_ast(translation_unit); - } - } - - }else - { - assert(!"false"); - } - - delete_source(source); - delete_options(options); - return 0; -} |