[lemma=reach] [□] □
[lemma=reach] [□=□] □
[lemma=reach] [!□] □
Messages are also generated when the scanner backs up , accepts the default rule , reaches the end of its input buffer ( or encounters a NUL ; at this point , the two look the same as far as the scanner 's concerned ) , or reaches an end-of-file . It continues until it either reaches an end-of-file ( at which point it returns the value 0 ) or one of its actions executes a return statement .