From afb583c4c31ff2f5649bde60a834dfc656abd732 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 11 Sep 2017 20:26:09 +0000 Subject: [PATCH] Document Parle\RLexer git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@343072 c90b9560-bf6c-de11-be94-00142212c4b1 --- reference/parle/book.xml | 1 + reference/parle/parle.rlexer.xml | 3 +- reference/parle/parle/rlexer/push.xml | 109 +++++++++++++++++++-- reference/parle/parle/rlexer/pushstate.xml | 9 +- reference/parle/parle/rlexer/state.xml | 7 +- 5 files changed, 109 insertions(+), 20 deletions(-) diff --git a/reference/parle/book.xml b/reference/parle/book.xml index 68fcf6291a..6740600ec9 100644 --- a/reference/parle/book.xml +++ b/reference/parle/book.xml @@ -19,6 +19,7 @@ &reference.parle.pattern.matching; &reference.parle.examples; &reference.parle.parle.lexer; + &reference.parle.parle.rlexer; &reference.parle.parle.token; &reference.parle.parle.parser; &reference.parle.parle.errorinfo; diff --git a/reference/parle/parle.rlexer.xml b/reference/parle/parle.rlexer.xml index 05ce82c0bf..52990aac75 100644 --- a/reference/parle/parle.rlexer.xml +++ b/reference/parle/parle.rlexer.xml @@ -126,7 +126,8 @@ - &reference.parle.entities.parle-rlexer; + + &reference.parle.parle.entities.rlexer; diff --git a/reference/parle/parle/rlexer/push.xml b/reference/parle/parle/rlexer/push.xml index 8ef95b0921..1a96fbd386 100644 --- a/reference/parle/parle/rlexer/push.xml +++ b/reference/parle/parle/rlexer/push.xml @@ -4,32 +4,125 @@ Parle\RLexer::push - Description + Add a lexer rule &reftitle.description; - public voidParle\RLexer::push - + public voidParle\Lexer::push + stringregex + integerid + + + + public voidParle\Lexer::push + stringregexStart + stringregexEnd + integerid + + + + public voidParle\Lexer::push + stringstate + stringregex + integerid + stringnewState + + + + public voidParle\Lexer::push + stringstate + stringregexStart + stringregexEnd + integerid + stringnewState + + + + public voidParle\Lexer::push + stringstate + stringregex + stringnewState + + + public voidParle\Lexer::push + stringstate + stringregexStart + stringregexEnd + stringnewState - - &warn.undocumented.func; - &reftitle.parameters; - &no.function.parameters; + + + regex + + + Regular expression used for token matching. + + + + + regexStart + + + Regular expression used to match the token start. + + + + + regexEnd + + + Regular expression used to match the token end. + + + + + id + + + Auto assigned token id. + + + + + state + + + State name. + + + + + newState + + + New state name, after the rule was applied. + + + + + &reftitle.returnvalues; - + &return.void; diff --git a/reference/parle/parle/rlexer/pushstate.xml b/reference/parle/parle/rlexer/pushstate.xml index 202a403263..6ade4b4725 100644 --- a/reference/parle/parle/rlexer/pushstate.xml +++ b/reference/parle/parle/rlexer/pushstate.xml @@ -4,7 +4,7 @@ Parle\RLexer::pushState - Description + Push a new start state @@ -14,11 +14,8 @@ stringstate - + A lexer can have more than one state machine. This allows you to lex different tokens depending on context, thus allowing simple parsing to take place. To allow this, a 'start state' must be specified additionally at the beginning of the Parle\RLexer::push call and an 'exit state' at the end. If '*' is used as start state, then the rule is applied to all lexer states. If '.' is specified as the exit state, then the lexer state is unchanged when that rule matches. - - &warn.undocumented.func; - @@ -28,7 +25,7 @@ state - + Name of the state. diff --git a/reference/parle/parle/rlexer/state.xml b/reference/parle/parle/rlexer/state.xml index a6f9934b8f..4cac1a030b 100644 --- a/reference/parle/parle/rlexer/state.xml +++ b/reference/parle/parle/rlexer/state.xml @@ -4,7 +4,7 @@ Parle\RLexer::state - Description + Get current lexer state @@ -16,9 +16,6 @@ - - &warn.undocumented.func; - @@ -29,7 +26,7 @@ &reftitle.returnvalues; - + Return &integer;.