University of Natural Resources and Life Sciences (BOKU)
Institute of Computational Biology

PerlDoc

See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview


Parent package: Foswiki::Query
Child packages:

    internal package Foswiki::Query::Parser is a Foswiki::Infix::Parser

    Parser for queries, using the Foswiki::Infix::Parser.

    The default node type in the generated parse tree is Foswiki::Query::Node, though you can pass your own alternative class as an option (it must implement Foswiki::Infix::Node)

    Query Language BNF
    expr ::= and_expr 'or' expr | and_expr;
    and_expr ::= not_expr 'and' and_expr | not_expr;
    not_expr ::= 'not' comma_expr | comma_expr;
    comma_expr ::= cmp_expr ',' comma_expr | cmp_expr;
    cmp_expr ::= add_expr cmp_op cm_expr | add_expr;
    cmp_op ::= '<=' | '>=' | '<' | '>' | '=' | '=~' | '~' | '!=' | 'in';
    add_expr ::= mul_expr add_op add_expr | mul_expr;
    mul_expr ::= ref_expr mul_op mul_expr | ref_expr;
    mul_op ::= '*' | 'div';
    ref_expr ::= u_expr ref_op ref_expr | u_expr;
    ref_op ::= '/' | '.';
    u_expr ::= value uop u_expr | value;
    uop ::= 'lc' | 'uc' | 'd2n' | 'length' | '-' | 'int' | '@';
    value ::= <name> | <string> | <number>;
    
    String and Numbers are as defined in Foswiki::Infix::Parser. Names default to /([A-Z:][A-Z0-9_:]*|({[A-Z][A-Z0-9_]*})+)/i.

    See QuerySearch for details of the query language.

    Topic revision: r1 - 2023-08-06, UnknownUser
    2024-09-20 - 05:43 Foswiki v2.1.8