Php/docs/class.parle-rlexer
(PECL parle >= 0.5.1)
简介
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.
类摘要
Parle\RLexer {
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
/* 属性 */
public
bool
$bol
= false
public
int
$flags
= 0
public
int
$state
= 0
public
int
$marker
= 0
public
int
$cursor
= 0
/* 方法 */
public advance ( ) : void
public build ( ) : void
public consume
( string $data
) : void
public dump ( ) : void
public getToken ( ) : 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
}
预定义常量
Parle\RLexer::ICASE
Parle\RLexer::DOT_NOT_LF
Parle\RLexer::DOT_NOT_CRLF
Parle\RLexer::SKIP_WS
Parle\RLexer::MATCH_ZERO_LEN
属性
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\RLexer::advance — Process next lexer rule
- Parle\RLexer::build — Finalize the lexer rule set
- Parle\RLexer::callout — Define token callback
- Parle\RLexer::consume — Pass the data for processing
- Parle\RLexer::dump — Dump the state machine
- Parle\RLexer::getToken — Retrieve the current token
- Parle\RLexer::insertMacro — Insert regex macro
- Parle\RLexer::push — Add a lexer rule
- Parle\RLexer::pushState — Push a new start state
- Parle\RLexer::reset — Reset lexer
/* Constants */