' before the name means push. Use the signature without id for either continuation or to * start matching, when a continuation or recursion is required. * If '<' is specified as exit state, it means pop. In that case, the signature containing the id can be used to * identify the match. Note that even in the case an id is specified, the rule will finish first when all the * previous pushes popped. * @return void * @link https://php.net/manual/en/parle-rlexer.push.php */ public function push(string $state, string $regex, int $id, string $newState): void {} /** * Add a lexer rule * * Push a pattern for lexeme recognition. * A 'start state' and 'exit state' can be specified by using a suitable signature. * * @param string $state State name. If '*' is used as start state, then the rule is applied to all lexer states. * @param string $regex Regular expression used for token matching. * @param string $newState * New state name, after the rule was applied. * If '.' is specified as the exit state, then the lexer state is unchanged when that rule matches. * An exit state with '>' before the name means push. Use the signature without id for either continuation or to * start matching, when a continuation or recursion is required. * If '<' is specified as exit state, it means pop. In that case, the signature containing the id can be used to * identify the match. Note that even in the case an id is specified, the rule will finish first when all the * previous pushes popped. * @return void * @link https://php.net/manual/en/parle-rlexer.push.php */ public function push(string $state, string $regex, string $newState): void {} /** * Push a new start state * This lexer type can have more than one state machine. * This allows you to lex different tokens depending on context, thus allowing simple parsing to take place. * Once a state pushed, it can be used with a suitable Parle\RLexer::push() signature variant. * * @see RLexer::push() * @link https://php.net/manual/en/parle-rlexer.pushstate.php * @param string $state Name of the state. * @return int */ public function pushState(string $state): int {} /** * Reset lexer * * Reset lexing optionally supplying the desired offset. * * @param int $pos Reset position. */ public function reset(int $pos): void {} }