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