The Parle\RLexer class

(PECL parle >= 0.5.1)

Introducere

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.

Sinopsisul clasei

Parle\RLexer {
/* Constants */
const integer ICASE = 1 ;
const integer DOT_NOT_LF = 2 ;
const integer DOT_NOT_CRLF = 4 ;
const integer SKIP_WS = 8 ;
const integer MATCH_ZERO_LEN = 16 ;
/* Proprietăți */
public boolean $bol = FALSE ;
public integer $flags = 0 ;
public integer $state = 0 ;
public integer $marker = 0 ;
public integer $cursor = 0 ;
/* Metode */
public advance ( void ) : void
public build ( void ) : void
public callout ( int $id , callable $callback ) : void
public consume ( string $data ) : void
public dump ( void ) : void
public getToken ( void ) : Parle\Token
public insertMacro ( string $name , string $regex ) : void
public push ( string $regex , int $id ) : void
public push ( string $state , string $regex , int $id , string $newState ) : void
public push ( string $state , string $regex , string $newState ) : void
public pushState ( string $state ) : int
public reset ( int $pos ) : void
}

Constante predefinite

Parle\RLexer::ICASE

Parle\RLexer::DOT_NOT_LF

Parle\RLexer::DOT_NOT_CRLF

Parle\RLexer::SKIP_WS

Parle\RLexer::MATCH_ZERO_LEN

Proprietăți

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.

Cuprins