Phlexy\LexerFactory\Stateless\WithCapturingGroups::createLexer PHP Method

createLexer() public method

public createLexer ( array $lexerDefinition, $additionalModifiers = '' )
$lexerDefinition array
    public function createLexer(array $lexerDefinition, $additionalModifiers = '')
    {
        $regexes = array_keys($lexerDefinition);
        $compiledRegex = $this->dataGen->getCompiledRegex($regexes, $additionalModifiers);
        $offsetToLengthMap = $this->dataGen->getOffsetToLengthMap($regexes);
        $offsetToTokenMap = array_combine(array_keys($offsetToLengthMap), $lexerDefinition);
        return new \Phlexy\Lexer\Stateless\WithCapturingGroups($compiledRegex, $offsetToTokenMap, $offsetToLengthMap);
    }
WithCapturingGroups