예제 #1
0
int	yywrap() {
	
	if (!include_app) {	/* all input files and strings get a newline appended to them */
		include_app = 1;
		yy_scan_string("\n");
		return 0;
	} else {
		include_app = 0;
		if (inpfile) {	/* (this is just an informal input text for printing-out...) */
			FREE(inpfile);  inpfile = NULL;
		}
			/* delete the input buffer, and possibly close the input file */
		yy_delete_buffer(YY_CURRENT_BUFFER);
#if CLOSE_AFTER_FLEX>0
		if (include_stack_file[include_stack_ptr])
			fclose(include_stack_file[include_stack_ptr]);
#endif
			/* pop the previous saved state from the stack */
		if (--include_stack_ptr>=0) {
			yy_switch_to_buffer(include_stack[include_stack_ptr]);
			inpfile = include_stack_fn[include_stack_ptr];
			inpline = include_stack_ln[include_stack_ptr];
			yy_pop_state();
			return 0;
		} /*** else  yyterminate();	does not work ??? ***/
	}
	return 1;	/* (means the end of current input) */
}
예제 #2
0
    void statePop() {
	yy_pop_state();
    }
예제 #3
0
    // METHODS
    void stateExitPsl() {
	if (YY_START != PSL) yyerrorf("Internal error: Exiting PSL state when not in PSL state");
	yy_pop_state();
    }