OrExpr ::= AndExpr | OrExpr 'or' AndExpr
| 9526 | |
| 9527 | // OrExpr ::= AndExpr | OrExpr 'or' AndExpr |
| 9528 | xpath_ast_node* parse_or_expression() |
| 9529 | { |
| 9530 | xpath_ast_node* n = parse_and_expression(); |
| 9531 | |
| 9532 | while (_lexer.current() == lex_string && _lexer.contents() == PUGIXML_TEXT("or")) |
| 9533 | { |
| 9534 | _lexer.next(); |
| 9535 | |
| 9536 | xpath_ast_node* expr = parse_and_expression(); |
| 9537 | |
| 9538 | n = new (alloc_node()) xpath_ast_node(ast_op_or, xpath_type_boolean, n, expr); |
| 9539 | } |
| 9540 | |
| 9541 | return n; |
| 9542 | } |
| 9543 | |
| 9544 | // Expr ::= OrExpr |
| 9545 | xpath_ast_node* parse_expression() |