AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr
| 9509 | |
| 9510 | // AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr |
| 9511 | xpath_ast_node* parse_and_expression() |
| 9512 | { |
| 9513 | xpath_ast_node* n = parse_equality_expression(); |
| 9514 | |
| 9515 | while (_lexer.current() == lex_string && _lexer.contents() == PUGIXML_TEXT("and")) |
| 9516 | { |
| 9517 | _lexer.next(); |
| 9518 | |
| 9519 | xpath_ast_node* expr = parse_equality_expression(); |
| 9520 | |
| 9521 | n = new (alloc_node()) xpath_ast_node(ast_op_and, xpath_type_boolean, n, expr); |
| 9522 | } |
| 9523 | |
| 9524 | return n; |
| 9525 | } |
| 9526 | |
| 9527 | // OrExpr ::= AndExpr | OrExpr 'or' AndExpr |
| 9528 | xpath_ast_node* parse_or_expression() |