/** * Initialize parser. */ void initialize(FILE *input_file, FILE *output_file) { if (mode_of_operation == MODE_INTERACTIVE) { fprintf(output_file, PACKAGE_STRING "\n(c) Copyright 2010-2011, P.Jakubco <" PACKAGE_BUGREPORT ">\n\nStarting interactive mode.\n(Type 'help' for help.)\n"); } yylex_init(&yyscanner); yyset_in(input_file, yyscanner); yyset_out(output_file, yyscanner); }
int parser_parse(FILE* in, FILE* out) { int result = 0; yyscan_t scanner; if (yylex_init(&scanner)) { result = 1; } else { yyset_in(in, scanner); yyset_out(out, scanner); result = yyparse(scanner, yyparse_callback); yylex_destroy(scanner); } return (result); }
void fsqlf_format_file(struct fsqlf_kw_conf *kwall, FILE *fin, FILE *fout) { struct fsqlf_formatter_state f_state; FSQLF_stack_init(&f_state.lexstate_stack, sizeof(int)); FSQLF_stack_init(&f_state.sub_openings, sizeof(pair)); FSQLF_tokque_init(&f_state.tqueue); f_state.currindent = 0; f_state.left_p = 0; f_state.right_p = 0; f_state.kwall = kwall; f_state.bout = (struct FSQLF_out_buffer){NULL, 0, 0}; yyscan_t scanner; yylex_init(&scanner); yyset_in(fin, scanner); yyset_out(fout, scanner); yyset_extra(&f_state, scanner); yylex(scanner); yylex_destroy(scanner); }