| @@ 211-239 (lines=29) @@ | ||
| 208 | ||
| 209 | $state = 1; |
|
| 210 | } elseif ($state === 1) { |
|
| 211 | if ($token->type === Token::TYPE_KEYWORD) { |
|
| 212 | if ($token->value === 'VALUE' |
|
| 213 | || $token->value === 'VALUES' |
|
| 214 | ) { |
|
| 215 | ++$list->idx; // skip VALUES |
|
| 216 | ||
| 217 | $this->values = Array2d::parse($parser, $list); |
|
| 218 | } elseif ($token->value === 'SET') { |
|
| 219 | ++$list->idx; // skip SET |
|
| 220 | ||
| 221 | $this->set = SetOperation::parse($parser, $list); |
|
| 222 | } elseif ($token->value === 'SELECT') { |
|
| 223 | $this->select = new SelectStatement($parser, $list); |
|
| 224 | } else { |
|
| 225 | $parser->error( |
|
| 226 | __('Unexpected keyword.'), |
|
| 227 | $token |
|
| 228 | ); |
|
| 229 | break; |
|
| 230 | } |
|
| 231 | $state = 2; |
|
| 232 | $miniState = 1; |
|
| 233 | } else { |
|
| 234 | $parser->error( |
|
| 235 | __('Unexpected token.'), |
|
| 236 | $token |
|
| 237 | ); |
|
| 238 | break; |
|
| 239 | } |
|
| 240 | } elseif ($state == 2) { |
|
| 241 | $lastCount = $miniState; |
|
| 242 | ||
| @@ 174-203 (lines=30) @@ | ||
| 171 | } |
|
| 172 | ||
| 173 | $state = 1; |
|
| 174 | } elseif ($state === 1) { |
|
| 175 | if ($token->type === Token::TYPE_KEYWORD) { |
|
| 176 | if ($token->value === 'VALUE' |
|
| 177 | || $token->value === 'VALUES' |
|
| 178 | ) { |
|
| 179 | ++$list->idx; // skip VALUES |
|
| 180 | ||
| 181 | $this->values = Array2d::parse($parser, $list); |
|
| 182 | } elseif ($token->value === 'SET') { |
|
| 183 | ++$list->idx; // skip SET |
|
| 184 | ||
| 185 | $this->set = SetOperation::parse($parser, $list); |
|
| 186 | } elseif ($token->value === 'SELECT') { |
|
| 187 | $this->select = new SelectStatement($parser, $list); |
|
| 188 | } else { |
|
| 189 | $parser->error( |
|
| 190 | __('Unexpected keyword.'), |
|
| 191 | $token |
|
| 192 | ); |
|
| 193 | break; |
|
| 194 | } |
|
| 195 | $state = 2; |
|
| 196 | } else { |
|
| 197 | $parser->error( |
|
| 198 | __('Unexpected token.'), |
|
| 199 | $token |
|
| 200 | ); |
|
| 201 | break; |
|
| 202 | } |
|
| 203 | } |
|
| 204 | } |
|
| 205 | ||
| 206 | --$list->idx; |
|