#include #include #include #include #include int main(int argc,char **argv) { struct Options *options; struct Source *source; struct Program *program; struct Translation_Data *translation_data; options=parse_command_line(argv); if(options->source==NULL) { printf("No source file specified\n"); return 0; } source=extract_source(strdup(options->source)); translation_data=get_translation_data(); if(options->print_tokens) { 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 { print_tokens(translation_data->tokens); } } delete_source(source); delete_options(options); return 0; }