StringPrimary() public method

StringPrimary ::= StateFieldPathExpression | string | InputParameter | FunctionsReturningStrings | AggregateExpression
public StringPrimary ( )
Example #1
0
 /**
  * @param Parser $parser
  * @throws QueryException
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $lexer = $parser->getLexer();
     if ($lexer->isNextToken(Lexer::T_DISTINCT)) {
         $parser->match(Lexer::T_DISTINCT);
         $this->isDistinct = true;
     }
     $this->pathExpressions[] = $parser->SingleValuedPathExpression();
     while ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->pathExpressions[] = $parser->StringPrimary();
     }
     if ($lexer->isNextToken(Lexer::T_ORDER)) {
         $this->orderBy = $parser->OrderByClause();
     }
     if ($lexer->isNextToken(Lexer::T_IDENTIFIER)) {
         if (strtolower($lexer->lookahead['value']) !== self::T_SEPARATOR) {
             $parser->syntaxError(self::T_SEPARATOR);
         }
         $parser->match(Lexer::T_IDENTIFIER);
         $this->separator = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #2
0
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $lexer = $parser->getLexer();
     if ($lexer->isNextToken(Lexer::T_DISTINCT)) {
         $parser->match(Lexer::T_DISTINCT);
         $this->isDistinct = true;
     }
     // first Path Expression is mandatory
     $this->pathExp = array();
     $this->pathExp[] = $parser->SingleValuedPathExpression();
     while ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->pathExp[] = $parser->StringPrimary();
     }
     if ($lexer->isNextToken(Lexer::T_ORDER)) {
         $this->orderBy = $parser->OrderByClause();
     }
     if ($lexer->isNextToken(Lexer::T_IDENTIFIER)) {
         if (strtolower($lexer->lookahead['value']) !== 'separator') {
             $parser->syntaxError('separator');
         }
         $parser->match(Lexer::T_IDENTIFIER);
         $this->separator = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 /**
  * @url http://sysmagazine.com/posts/181666/
  *
  * {@inheritdoc}
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $lexer = $parser->getLexer();
     if ($lexer->isNextToken(Lexer::T_DISTINCT)) {
         $parser->match(Lexer::T_DISTINCT);
         $this->parameters[self::DISTINCT_KEY] = true;
     }
     // first Path Expression is mandatory
     $this->parameters[self::PARAMETER_KEY] = array();
     $this->parameters[self::PARAMETER_KEY][] = $parser->SingleValuedPathExpression();
     while ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->parameters[self::PARAMETER_KEY][] = $parser->StringPrimary();
     }
     if ($lexer->isNextToken(Lexer::T_ORDER)) {
         $this->parameters[self::ORDER_KEY] = $parser->OrderByClause();
     }
     if ($lexer->isNextToken(Lexer::T_IDENTIFIER)) {
         if (strtolower($lexer->lookahead['value']) !== 'separator') {
             $parser->syntaxError('separator');
         }
         $parser->match(Lexer::T_IDENTIFIER);
         $this->parameters[self::SEPARATOR_KEY] = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->ftsField = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->queryString = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #5
0
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->hstoreExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->keyExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #6
0
 /**
  * @override
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->firstStringPrimary = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->secondStringPrimary = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #7
0
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->expr1 = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->expr2 = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #8
0
 /**
  * Define the parser
  *
  * @param Parser $parser
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->subjectExpression = $parser->StringExpression();
     $parser->match(Lexer::T_COMMA);
     $this->findExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->replaceExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 /**
  * @param Parser $parser
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->column = $parser->StringPrimary()->value;
     $parser->match(Lexer::T_COMMA);
     $this->cond = $parser->StringPrimary()->value;
     $parser->match(Lexer::T_COMMA);
     $this->value = $parser->StringExpression()->value;
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #10
0
 /**
  * {@inheritdoc}
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->dateExpression = $parser->ArithmeticExpression();
     $parser->match(Lexer::T_COMMA);
     $this->fromTz = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->toTz = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #11
0
 /**
  * {@inheritdoc}
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->parameters[self::SEPARATOR_KEY] = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->parameters[self::STRINGS_KEY][] = $parser->StringPrimary();
     while ($parser->getLexer()->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->parameters[self::STRINGS_KEY][] = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->fieldName = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->queryString = $parser->StringPrimary();
     if ($parser->getLexer()->lookahead['type'] == Lexer::T_COMMA) {
         $parser->match(Lexer::T_COMMA);
         $this->regconfig = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #13
0
 /**
  * {@inheritdoc}
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->parameters['separator'] = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->parameters['strings'][] = $parser->StringPrimary();
     while ($parser->getLexer()->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->parameters['strings'][] = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->countryOrigin = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->postalCodeOrigin = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->countryDestination = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->postalCodeDestination = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->fieldName = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->queryString = $parser->StringPrimary();
     $lexer = $parser->getLexer();
     if ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->configuration = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 public function parse(Parser $parser)
 {
     $lexer = $parser->getLexer();
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->expr[] = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->expr[] = $parser->StringPrimary();
     while (Lexer::T_COMMA === $lexer->lookahead['type']) {
         $parser->match(Lexer::T_COMMA);
         $this->expr[] = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #17
0
 /**
  * @override
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->firstStringPrimary = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->secondStringPrimary = $parser->StringPrimary();
     $lexer = $parser->getLexer();
     if ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->simpleArithmeticExpression = $parser->SimpleArithmeticExpression();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #18
0
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     // (2)
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     // (3)
     $this->field = $parser->StringPrimary();
     // (4)
     $parser->match(Lexer::T_COMMA);
     // (5)
     $this->regex = $parser->StringPrimary();
     // (6)
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     // (3)
 }
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     // REPLACE
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->stringStr = $parser->StringPrimary();
     // str
     $parser->match(Lexer::T_COMMA);
     $this->stringFromStr = $parser->StringPrimary();
     // from_str
     $parser->match(Lexer::T_COMMA);
     $this->stringToStr = $parser->StringPrimary();
     // to_str
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 /**
  * @override
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->firstStringPrimary = $parser->StringPrimary();
     $this->concatExpressions[] = $this->firstStringPrimary;
     $parser->match(Lexer::T_COMMA);
     $this->secondStringPrimary = $parser->StringPrimary();
     $this->concatExpressions[] = $this->secondStringPrimary;
     while ($parser->getLexer()->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->concatExpressions[] = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #21
0
 /**
  * @param Parser $parser
  */
 public function parse(Parser $parser)
 {
     // match
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     // first Path Expression is mandatory
     $this->pathExp = array();
     $this->pathExp[] = $parser->StateFieldPathExpression();
     // Subsequent Path Expressions are optional
     $lexer = $parser->getLexer();
     while ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->pathExp[] = $parser->StateFieldPathExpression();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     // against
     if (strtolower($lexer->lookahead['value']) !== 'against') {
         $parser->syntaxError('against');
     }
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->against = $parser->StringPrimary();
     if (strtolower($lexer->lookahead['value']) === 'boolean') {
         $parser->match(Lexer::T_IDENTIFIER);
         $this->booleanMode = true;
     }
     if (strtolower($lexer->lookahead['value']) === 'expand') {
         $parser->match(Lexer::T_IDENTIFIER);
         $this->queryExpansion = true;
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #22
0
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->firstDateExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #23
0
 /**
  * @inheritdoc
  */
 public function parse(Parser $parser)
 {
     $this->match = [];
     $this->mode = null;
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $lexer = $parser->getLexer();
     for (;;) {
         $this->match[] = $parser->StateFieldPathExpression();
         if (!$lexer->isNextToken(Lexer::T_COMMA)) {
             break;
         }
         $parser->match(Lexer::T_COMMA);
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     if (strtoupper($lexer->lookahead['value']) !== 'AGAINST') {
         $parser->syntaxError('AGAINST');
     }
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->against = $parser->StringPrimary();
     if ($lexer->isNextToken(Lexer::T_STRING)) {
         $parser->match(Lexer::T_STRING);
         $this->mode = $lexer->token['value'];
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 /**
  * @override
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->intervalSpec = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #25
0
 /**
  * @override
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $lexer = $parser->getLexer();
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->stringPrimary = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #26
0
 public function parse(Parser $parser)
 {
     $lexer = $parser->getLexer();
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->strings[] = $parser->StringPrimary();
     // Separator
     $parser->match(Lexer::T_COMMA);
     $this->strings[] = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->strings[] = $parser->StringPrimary();
     while ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->strings[] = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
 /**
  * parse - allows DQL to breakdown the DQL string into a processable structure.
  *
  * @param \Doctrine\ORM\Query\Parser $parser
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->dateExpression = $parser->ArithmeticExpression();
     $parser->match(Lexer::T_COMMA);
     $this->formatChar = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #28
0
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $lexer = $parser->getLexer();
     $parser->match(\Doctrine\ORM\Query\Lexer::T_IDENTIFIER);
     $parser->match(\Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS);
     $this->expression = $parser->ArithmeticPrimary();
     $parser->match(\Doctrine\ORM\Query\Lexer::T_COMMA);
     $this->format = $parser->StringPrimary();
     $parser->match(\Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS);
 }
Example #29
0
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->expressionToCollate = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $parser->match(Lexer::T_IDENTIFIER);
     $lexer = $parser->getLexer();
     $this->collation = $lexer->token['value'];
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
Example #30
0
 /**
  * @override
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->firstDateExpression = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->intervalExpression = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->unit = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }