function ARC_sparql_parser::parse_AdditiveExpression in Taxonomy import/export via XML 5
Same name and namespace in other branches
- 5.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_AdditiveExpression()
- 6.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_AdditiveExpression()
- 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_AdditiveExpression()
1 call to ARC_sparql_parser::parse_AdditiveExpression()
File
- arc/
ARC_sparql_parser.php, line 1245
Class
Code
function parse_AdditiveExpression($val = "") {
if ($sub_result = $this
->parse_MultiplicativeExpression($val)) {
$val = $sub_result["unparsed_val"];
$entries = array(
$sub_result,
);
do {
$proceed = false;
if (preg_match("/^(\\+|\\-)/", $val, $matches)) {
$operator = $matches[1];
$val = trim(substr($val, 1));
if ($sub_sub_result = $this
->parse_MultiplicativeExpression($val)) {
$proceed = true;
$val = $sub_sub_result["unparsed_val"];
unset($sub_sub_result["unparsed_val"]);
$sub_sub_result["operator"] = $operator;
$entries[] = $sub_sub_result;
}
}
} while ($proceed);
if (count($entries) == 1) {
return $sub_result;
}
else {
unset($entries[0]["unparsed_val"]);
return array(
"type" => "expression",
"sub_type" => "additive",
"entries" => $entries,
"unparsed_val" => $val,
);
}
}
return false;
}