Meaning of yywrap() in flex

13,357

According to The Lex & Yacc Page :

When the scanner receives an end-of-file indication from YY_INPUT, it then checks the yywrap() function. If yywrap() returns false (zero), then it is assumed that the function has gone ahead and set up yyin to point to another input file, and scanning continues. If it returns true (non-zero), then the scanner terminates, returning 0 to its caller. Note that in either case, the start condition remains unchanged; it does not revert to INITIAL.

The #define is used to simplify building the program (so that no -ll linkage option is needed).

Further reading:

Share:
13,357
deep_geek
Author by

deep_geek

Updated on July 18, 2022

Comments

  • deep_geek
    deep_geek almost 2 years

    What does this instructions mean in flex (lex) :

    #define yywrap() 1

    and this [ \t]+$
    i find it in the code below:

    (%% [ \t]+ putchar('_'); [ \t]+% %%

    input "hello world"

    output "hello_world"

    )