Search/Lucene/Search/QueryLexer.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Search_Lucene
- Subpackage
- Search
- Version
- $Id: QueryLexer.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Search_Lucene_Search_QueryLexer
Take a look on Wikipedia state machine description: http://en.wikipedia.org/wiki/Finite_state_machine
Any type of Transducers (Moore machine or Mealy machine) also may be implemented by using this abstract FSM. process() methods invokes a specified actions which may construct FSM output. Actions may be also used to signal, that we have reached Accept State
- Parent(s)
- \Zend_Search_Lucene_FSM
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties

integer|string $_currentState = nullnullDetails- Type
- integer | string
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_currentState

array $_entryActions = array()[state] => action
array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_entryActions

array $_exitActions = array()[state] => action
array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_exitActions

array $_inputActions = array()[state][input] => action
array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_inputActions

array $_inputAphabet = array()array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_inputAphabet

integer $_queryStringPosition- Type
- integer

array $_rules = array()[sourceState][input] => targetState
array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_rules

array $_states = array()array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_states

array $_transitionActions = array()[state1][state2] => action
array()Details- Type
- array
- Inherited_from
- \Zend_Search_Lucene_FSM::$$_transitionActions
Methods

__construct() : voidFinite State machine constructor
$states is an array of integers or strings with a list of possible machine states constructor treats fist list element as a sturt state (assignes it to $_current state). It may be reassigned by setState() call. States list may be empty and can be extended later by addState() or addStates() calls.
$inputAphabet is the same as $states, but represents input alphabet it also may be extended later by addInputSymbols() or addInputSymbol() calls.
$rules parameter describes FSM transitions and has a structure: array( array(sourseState, input, targetState[, inputAction]), array(sourseState, input, targetState[, inputAction]), array(sourseState, input, targetState[, inputAction]), ... ) Rules also can be added later by addRules() and addRule() calls.
FSM actions are very flexible and may be defined by addEntryAction(), addExitAction(), addInputAction() and addTransitionAction() calls.

_translateInput(string $char) : integerTranslate input char to an input symbol of state machine
| Name | Type | Description |
|---|---|---|
| $char | string |
| Type | Description |
|---|---|
| integer |

addEntryAction(integer | string $state, \Zend_Search_Lucene_FSMAction $action) : voidSeveral entry actions are allowed. Action execution order is defined by addEntryAction() calls
| Name | Type | Description |
|---|---|---|
| $state | integer | string | |
| $action | \Zend_Search_Lucene_FSMAction |

addExitAction(integer | string $state, \Zend_Search_Lucene_FSMAction $action) : voidSeveral exit actions are allowed. Action execution order is defined by addEntryAction() calls
| Name | Type | Description |
|---|---|---|
| $state | integer | string | |
| $action | \Zend_Search_Lucene_FSMAction |

addInputAction(integer | string $state, $inputSymbol, \Zend_Search_Lucene_FSMAction $action) : voidAdd input action (defined by {state, input} pair).
Inherited from: \Zend_Search_Lucene_FSM::addInputAction()Several input actions are allowed. Action execution order is defined by addInputAction() calls
| Name | Type | Description |
|---|---|---|
| $state | integer | string | |
| $inputSymbol | ||
| $action | \Zend_Search_Lucene_FSMAction |

addInputSymbol(integer | string $inputSymbol) : void| Name | Type | Description |
|---|---|---|
| $inputSymbol | integer | string |

addInputSymbols(array $inputAphabet) : voidAdd symbols to the input alphabet
Inherited from: \Zend_Search_Lucene_FSM::addInputSymbols()| Name | Type | Description |
|---|---|---|
| $inputAphabet | array |

addQuerySyntaxLexeme() : voidAdd query syntax lexeme
| Exception | Description |
|---|---|
| \Zend_Search_Lucene_Search_QueryParserException |

addRule(integer | string $sourceState, integer | string $input, integer | string $targetState, \Zend_Search_Lucene_FSMAction | null $inputAction = null) : void| Name | Type | Description |
|---|---|---|
| $sourceState | integer | string | |
| $input | integer | string | |
| $targetState | integer | string | |
| $inputAction | \Zend_Search_Lucene_FSMAction | null |
| Exception | Description |
|---|---|
| \Zend_Search_Exception |

addRules(array $rules) : voidarray structure: array( array(sourseState, input, targetState[, inputAction]), array(sourseState, input, targetState[, inputAction]), array(sourseState, input, targetState[, inputAction]), ... )
| Name | Type | Description |
|---|---|---|
| $rules | array |

addTransitionAction(integer | string $sourceState, integer | string $targetState, \Zend_Search_Lucene_FSMAction $action) : voidAdd transition action (defined by {state, input} pair).
Inherited from: \Zend_Search_Lucene_FSM::addTransitionAction()Several transition actions are allowed. Action execution order is defined by addTransitionAction() calls
| Name | Type | Description |
|---|---|---|
| $sourceState | integer | string | |
| $targetState | integer | string | |
| $action | \Zend_Search_Lucene_FSMAction |

process(mixed $input) : void| Name | Type | Description |
|---|---|---|
| $input | mixed |
| Exception | Description |
|---|---|
| \Zend_Search_Exception |

setState(integer | string $state) : voidNo any action is invoked
| Name | Type | Description |
|---|---|---|
| $state | integer | string |
| Exception | Description |
|---|---|
| \Zend_Search_Exception |

tokenize(string $inputString, string $encoding) : arrayThis method is used to tokenize query string into lexemes
| Name | Type | Description |
|---|---|---|
| $inputString | string | |
| $encoding | string |
| Type | Description |
|---|---|
| array |
| Exception | Description |
|---|---|
| \Zend_Search_Lucene_Search_QueryParserException |