Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<Parle\Lexer::resetParle\RLexer::advance>
^ParleLast updated: Mon, 26 Oct 2026

The Parle\RLexer class

(PECL parle >= 0.5.1)

Introduction

Multistate lexer class. Lexemes can be defined on the fly. If the particular lexer instance is meant to be used with Parle\RParser, the token IDs need to be taken from there. Otherwise, arbitrary token IDs can be supplied. Note, that Parle\Parser is not compatible with this lexer.

Class synopsis

class Parle\RLexer {
/* Constants */
const int ICASE = 1;
const int DOT_NOT_LF = 2;
const int DOT_NOT_CRLF = 4;
const int SKIP_WS = 8;
const int MATCH_ZERO_LEN = 16;
/* Properties */
public bool $bol = false;
public int $flags = 0;
public int $state = 0;
public int $marker = 0;
public int $cursor = 0;
/* Methods */
public function advance(): void
public function build(): void
public function callout(int $id, callable $callback): void
public function consume(string $data): void
public function dump(): void
public function getToken(): Parle\Token
public function insertMacro(string $name, string $regex): void
public function push(string $regex, int $id): void
public function push(
    string $state,
    string $regex,
    int $id,
    string $newState
): void
public function push(string $state, string $regex, string $newState): void
public function pushState(string $state): int
public function reset(int $pos): void
}

Properties

bol

Start of input flag.

flags

Lexer flags.

state

Current lexer state, readonly.

marker

Position of the latest token match, readonly.

cursor

Current input offset, readonly.

Table of Contents


<Parle\Lexer::resetParle\RLexer::advance>
^ParleLast updated: Mon, 26 Oct 2026