Parsing is done in two stages, breaking letters up into groups called tokens, then
analysing the syntax of those tokens. The first part is the job of the lexer, the
second of the parser. Sometimes a single too will do both. The most famous lexer is
LEX which came with early versions of Unix. It was paired with a parser called
YACC (Yet Another Compiler Compiler). Lexers can also be used
to implement finite state automata.