Code Duplication    Length = 14-17 lines in 2 locations

src/Lexer.php 2 locations

@@ 103-119 (lines=17) @@
100
101
            // Буквы a-z, A-Z или символ подчеркивания
102
            // (могут использоваться в именах переменных и функций)
103
            } elseif (preg_match("/[a-zA-Z\_]+/i", $char)) {
104
                if (!$lastTokenType) {
105
                    $lastTokenType = Token::TYPE_FUNCTION;
106
                    $lastToken = $char;
107
                } elseif ($lastTokenType === Token::TYPE_FUNCTION
108
                    || $lastTokenType === Token::TYPE_VARIABLE
109
                ) {
110
                    $lastToken .= $char;
111
                } else {
112
                    $stack[] = $tokenFactory->create($lastTokenType, $lastToken);
113
                    $lastTokenType = Token::TYPE_FUNCTION;
114
                    $lastToken = $char;
115
                }
116
117
            // Числа
118
            } elseif (is_numeric($char) || $char === '.') {
119
                if (!$lastTokenType) {
120
                    $lastTokenType = Token::TYPE_NUMBER;
121
                    $lastToken = $char;
122
                } elseif ($lastTokenType === Token::TYPE_NUMBER
@@ 119-132 (lines=14) @@
116
117
            // Числа
118
            } elseif (is_numeric($char) || $char === '.') {
119
                if (!$lastTokenType) {
120
                    $lastTokenType = Token::TYPE_NUMBER;
121
                    $lastToken = $char;
122
                } elseif ($lastTokenType === Token::TYPE_NUMBER
123
                    || $lastTokenType === Token::TYPE_VARIABLE
124
                    || $lastTokenType === Token::TYPE_FUNCTION
125
                ) {
126
                    $lastToken .= $char;
127
                } else {
128
                    $stack[] = $tokenFactory->create($lastTokenType, $lastToken);
129
                    $lastTokenType = Token::TYPE_NUMBER;
130
                    $lastToken = $char;
131
                }
132
            }
133
        }
134
135
        $stack[] = $tokenFactory->create($lastTokenType, $lastToken);