Doctrine Lexer
Base library for a lexer that can be used in Recursive Descent Parsers
...This lexer is used in Doctrine Annotations and in Doctrine ORM (DQL). To write your own parser you just need to extend Doctrine\Common\Lexer\AbstractLexer and implement three abstract methods. These methods define the lexical catchable and non-catchable patterns and a method for returning the type of a token and filtering the value if necessary. The Lexer is responsible for giving you an API to walk across a string one character at a time and analyze the type of each character, value and position of each token in the string. The low level API of the lexer is pretty simple. ...