| 1172 | // |
| 1173 | |
| 1174 | gpre_nod* SQE_value(gpre_req* request, bool aster_ok, USHORT* paren_count, bool* bool_flag) |
| 1175 | { |
| 1176 | USHORT local_count; |
| 1177 | bool local_flag; |
| 1178 | |
| 1179 | assert_IS_REQ(request); |
| 1180 | |
| 1181 | if (!paren_count) |
| 1182 | { |
| 1183 | local_count = 0; |
| 1184 | paren_count = &local_count; |
| 1185 | } |
| 1186 | if (!bool_flag) |
| 1187 | { |
| 1188 | local_flag = false; |
| 1189 | bool_flag = &local_flag; |
| 1190 | } |
| 1191 | |
| 1192 | MSC_match(KW_PLUS); |
| 1193 | gpre_nod* node = par_multiply(request, aster_ok, paren_count, bool_flag); |
| 1194 | assert_IS_NOD(node); |
| 1195 | if (node->nod_type == nod_asterisk) |
| 1196 | { |
| 1197 | par_terminating_parens(paren_count, &local_count); |
| 1198 | return node; |
| 1199 | } |
| 1200 | |
| 1201 | nod_t nod_type; |
| 1202 | while (true) |
| 1203 | { |
| 1204 | if (MSC_match(KW_PLUS)) |
| 1205 | nod_type = nod_plus; |
| 1206 | else if (MSC_match(KW_MINUS)) |
| 1207 | nod_type = nod_minus; |
| 1208 | else if (MSC_match(KW_OR1)) |
| 1209 | nod_type = nod_concatenate; |
| 1210 | else |
| 1211 | { |
| 1212 | par_terminating_parens(paren_count, &local_count); |
| 1213 | return node; |
| 1214 | } |
| 1215 | node = MSC_binary(nod_type, node, par_multiply(request, false, paren_count, bool_flag)); |
| 1216 | } |
| 1217 | } |
| 1218 | |
| 1219 | |
| 1220 | //____________________________________________________________ |
no test coverage detected