LexerConfigFactory::getConfig()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 32
rs 9.408
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/*
4
 * This file is part of the tmilos/scim-filter-parser package.
5
 *
6
 * (c) Milos Tomic <[email protected]>
7
 *
8
 * This source file is subject to the MIT license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace Tmilos\ScimFilterParser;
13
14
use Tmilos\ScimFilterParser\Ast\Tokens;
15
16
class LexerConfigFactory
17
{
18
    public static function getConfig()
19
    {
20
        return [
21
            '\\s+' => Tokens::T_SP,
22
            //'true' => Tokens::T_TRUE,
23
            //'false' => Tokens::T_FALSE,
24
            //'null' => Tokens::T_NULL,
25
            '\\d+(\\.\\d+)?' => Tokens::T_NUMBER,
26
            '"(?:[^"\\\\]|\\\\.)*"' => Tokens::T_STRING,
27
            '\\.' => Tokens::T_DOT,
28
            ':' => Tokens::T_COLON,
29
            '/' => Tokens::T_SLASH,
30
            '\\(' => Tokens::T_PAREN_OPEN,
31
            '\\)' => Tokens::T_PAREN_CLOSE,
32
            //            'not' => Tokens::T_NOT,
33
            //            'and' => Tokens::T_AND,
34
            //            'or' => Tokens::T_OR,
35
            //            'pr' => Tokens::T_PR,
36
            //            'eq' => Tokens::T_EQ,
37
            //            'ne' => Tokens::T_NE,
38
            //            'co' => Tokens::T_CO,
39
            //            'sw' => Tokens::T_SW,
40
            //            'ew' => Tokens::T_EW,
41
            //            'gt' => Tokens::T_GT,
42
            //            'lt' => Tokens::T_LT,
43
            //            'ge' => Tokens::T_GE,
44
            //            'le' => Tokens::T_LE,
45
            '[a-z0-9-_]+' => Tokens::T_NAME,
46
            '\\[' => Tokens::T_BRACKET_OPEN,
47
            '\\]' => Tokens::T_BRACKET_CLOSE,
48
        ];
49
    }
50
}
51