The Parle\RLexer classはじめに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
class Parle\RLexer
{
/* 定数 */
const
int
Parle\RLexer::ICASE = 1;
const
int
Parle\RLexer::DOT_NOT_LF = 2;
const
int
Parle\RLexer::DOT_NOT_CRLF = 4;
const
int
Parle\RLexer::SKIP_WS = 8;
const
int
Parle\RLexer::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 void advance()
public void build()
public void callout(int
$id , callable $callback )public void consume(string
$data )public void dump()
public Parle\Token getToken()
public void insertMacro(string
$name , string $regex )public void push(string
$regex , int $id )public void push(
string $state ,string $regex ,int $id ,string $newState ) public void push(string
$state , string $regex , string $newState )public int pushState(string
$state )public void reset(int
}$pos )定義済み定数
プロパティ
|