dev-master
9999999-dev
The Requires
- php >=5.3.3
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Lexical analysis tool for PHP., (*1)
Here is an example usage:, (*2)
$patterns = array(
'number' => '[0-9]',
);
$lexer = new \Elerium\Lexer\Lexer($patterns);
$lexemes = $lexer->getLexemes('12'); // Returns two lexemes
Pattern name should be numeric or non-numeric value. Pattern name should contains named sub patterns, marked with ?P
Named patterns:, (*4)
$namedPattern = array(
'address' => '(?P<city>[a-zA-Z]+) (?P<street>[a-zA-Z0-9]+)',
'name' => '(?P<name>[a-zA-Z]+) (?P<surname>[a-zA-Z]+)' // error: repeating name!
);
Ignored patterns:, (*5)
$ignoredPatterns = array(
'whitespace' => '?:\s', // lexeme won't be added to list
);
If there is no pattern exist for input, then Lexer throw Elerium\Lexer\LexerException., (*6)
$lexer = new \Elerium\Lexer\Lexer(array(
'foo' => 'foo'
));
$lexer->getLexemes('bar'); // Invalid lexeme near 'bar' at line 1.