Expr : Expr TOKEN_AND Boolean-term | Boolean-term ; Boolean-term : Boolean-term TOKEN_OR Relational-expr | Relational-expr ; Relational-expr : Factor TOKEN_LT Factor | Factor TOKEN_GT Factor | Factor TOKEN_GTE Factor | Factor TOKEN_LTE Factor | Factor TOKEN_EQ Factor | Factor TOKEN_NEQ Factor | Factor ; Factor : TOKEN_LPAREN Expr TOKEN_RPAREN | TOKEN_STRING | TOKEN_NUMBER | TOKEN_PROPERTY | TOKEN_ITEMLIST | TOKEN_FUNCTIONNAME TOKEN_LPAREN Arg-list TOKEN_RPAREN | TOKEN_NOT Factor ; Arg-list : Args | ; Args : Arg TOKEN_COMMA Args | Arg ; Arg : TOKEN_STRING | TOKEN_NUMBER | TOKEN_PROPERTY | TOKEN_ITEMLIST ;