The lex utility generates C programs to be used in lexical processing of character input, and that can be used as an interface to yacc.