int main(int argv, char **argc) { initMe(); //extern int yydebug; //int simb; if (argv < 2) { printf("Digite o nome do arquivo!\n"); exit(1); } yyin = fopen(argc[1],"r"); printf("Arquivo de entrada: %s\n",argc[1]); //yydebug = 1; yyparse(); //printTokens(); printf("╔═╗╦ ╦╔═╗╔═╗╔═╗╔═╗╔═╗\n"); printf("╚═╗║ ║║ ║╣ ╚═╗╚═╗║ ║\n"); printf("╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝\n"); printf("Analise sintatica feita com sucesso. Nenhum erro encontrado.\n"); printf("Numero de linhas do arquivo de entrada: %d\n", getLineNumber()); printf("TABELA HASH\n-----------\n"); hashPrint(); exit(0); }
int main(int argc, char ** argv) { FILE* file; if (!(file = fopen("test.txt", "r"))) { printf ("Erro ao abrir arquivo"); } yyin = file; initMe(); while(isRunning()) { switch (yylex()) { case KW_INT: printf("int @ linha %d \n", getLineNumber()); break; case KW_REAL: printf("real @ linha %d \n", getLineNumber()); break; case KW_BOOL: printf("bool @ linha %d \n", getLineNumber()); break; case KW_CHAR: printf("char @ linha %d \n", getLineNumber()); break; case KW_IF: printf("if @ linha %d \n", getLineNumber()); break; case KW_ELSE: printf("else @ linha %d \n", getLineNumber()); break; case KW_WHILE: printf("while @ linha %d \n", getLineNumber()); break; case KW_INPUT: printf("input @ linha %d \n", getLineNumber()); break; case KW_RETURN: printf("return @ linha %d \n", getLineNumber()); break; case KW_OUTPUT: printf("output @ linha %d \n", getLineNumber()); break; case TOKEN_ERROR: printf("error |%s| @ linha %d \n", yytext, getLineNumber()); break; default: printf("token |%s| @ linha %d \n", yytext, getLineNumber()); break; } } hashPrint(); }
int main(int argc, char **argv) { int s; yyin = fopen("out.c","r"); while(running != 0) { s = yylex(); printf("linha %d token %d\n", lineNumber, s); } hashPrint(); return 0; }
int main(int argc, char *argv[]) { //int simb; initMe(); if (argc<2) { fprintf(stderr, "Ops! Call me with the filename. Try typing 'etapa1 <nome_do_arquivo>'\n"); exit (1); } if (!(yyin = fopen(argv[1], "r"))) { fprintf(stderr, "There is an error. It is not possible to open the file!\n"); fprintf(stderr, "Check if the file path is correct and try again!\n"); exit(1); } system("clear"); printf("\n-----------------------------------------"); printf("\nUFRGS - INSTITUTE OF INFORMATICS"); printf("\nINF01147 - COMPILERS 2014/2"); printf("\nMiller Biazus"); printf("\nPedro Morales"); printf("\n-----------------------------------------\n"); printf("\n-----------------------------------------"); printf("\nSTARTING PART 2"); printf("\nPLEASE WAIT, MAKING THE PARSER..."); printf("\n-----------------------------------------\n"); while (isRunning()) { yyparse(); //simb = yylex(); //if(simb) // printf("LINE: [%d] - TOKEN: [%d] \n", LineNumber, simb); } printf("-----------------------------------------"); printf("\nTHE FILE WAS READ SUCCESSFULLY:"); printf("\n-----------------------------------------\n"); hashPrint(&hashTable); printf("\n-----------------------------------------"); printf("\nPART 2 DONE!"); printf("\n-----------------------------------------\n\n"); return 0; }
int main (int argc, char ** argv) { FILE *srcFilePointer = NULL; if (argc != 3) { fprintf(stderr, "ERROR! Input and output files must be defined! \nUsage: etapa6 inputFile outputFile\n"); exit(2); } initMe(); srcFilePointer = fopen(argv[1], "r"); if (srcFilePointer == NULL) { fprintf(stderr, "ERROR! The input file could not be opened! \nUsage: etapa6 inputFile outputFile\n"); exit(2); } yyin = srcFilePointer; if (yyparse() != 0) { fprintf(stderr, "Syntax error in line: %i\n\n", getLineNumber()+1); exit(3); } DEST_FILE = fopen(argv[2], "w"); if (DEST_FILE == NULL) { fprintf(stderr, "ERROR! The output file could not be opened! \nUsage: etapa6 inputFile outputFile\n"); exit(2); } //descompileTree(astTree); //astPrint(astTree, 0); hashPrint(); if (semanticErrors > 0) { printf("\n\nSemantic error!\n"); exit(4); } else { printf("\n\nProgram sucessful!\n\n"); exit(0); } }
int main(int argc, char ** argv) { if(argc!=2) { printf("\nUsage: etapa6 <arquivo> \n"); exit(1); } FILE* file; if(!(file=fopen(argv[1], "r"))) { printf("\nErro ao abrir %s!\n", argv[1]); exit(2); } yyin = file; /*if(!(file=fopen(argv[2], "w"))){ printf("Erro ao abrir arquivo de saida: %s !\n", argv[2]); } out_file(file);*/ initMe(); yyparse(); if(reportSemanticError()) { printf("Erro: existem erros semanticos.\n"); exit(4); } printf("\nSucesso!\n\n"); hashPrint(); printf("\nFinalizado!\n\n"); exit(0); }
int main(int argc, char *argv[]) { int token = yylex(); while (isRunning()) { switch (token) { case KW_INT: printf("Line: %d - KW_INT\n", getLineNumber()); break; case KW_REAL: printf("Line: %d - KW_REAL\n", getLineNumber()); break; case KW_BOOL: printf("Line: %d - KW_BOOL\n", getLineNumber()); break; case KW_CHAR: printf("Line: %d - KW_CHAR\n", getLineNumber()); break; case KW_IF: printf("Line: %d - KW_IF\n", getLineNumber()); break; case KW_ELSE: printf("Line: %d - KW_ELSE\n", getLineNumber()); break; case KW_WHILE: printf("Line: %d - KW_WHILE\n", getLineNumber()); break; case KW_INPUT: printf("Line: %d - KW_INPUT\n", getLineNumber()); break; case KW_RETURN: printf("Line: %d - KW_RETURN\n", getLineNumber()); break; case KW_OUTPUT: printf("Line: %d - KW_OUTPUT\n", getLineNumber()); break; case OPERATOR_LE: printf("Line: %d - OPERATOR_LE\n", getLineNumber()); break; case OPERATOR_GE: printf("Line: %d - OPERATOR_GE\n", getLineNumber()); break; case OPERATOR_EQ: printf("Line: %d - OPERATOR_EQ\n", getLineNumber()); break; case OPERATOR_NE: printf("Line: %d - OPERATOR_NE\n", getLineNumber()); break; case OPERATOR_AND: printf("Line: %d - OPERATOR_AND\n", getLineNumber()); break; case OPERATOR_OR: printf("Line: %d - OPERATOR_OR\n", getLineNumber()); break; case TK_IDENTIFIER: printf("Line: %d - TK_IDENTIFIER\n", getLineNumber()); break; case LIT_INTEGER: printf("Line: %d - LIT_INTEGER\n", getLineNumber()); break; case LIT_FALSE: printf("Line: %d - LIT_FALSE\n", getLineNumber()); break; case LIT_TRUE: printf("Line: %d - LIT_TRUE\n", getLineNumber()); break; case LIT_CHAR: printf("Line: %d - LIT_CHAR\n", getLineNumber()); break; case LIT_STRING: printf("Line: %d - LIT_STRING\n", getLineNumber()); break; case TOKEN_ERROR: printf("Line: %d - TOKEN_ERROR\n", getLineNumber()); break; default: printf("Line: %d - %c\n", getLineNumber(), token); break; } token = yylex(); } hashPrint(); return 0; }