PerlDoc

2024-12-18 - 14:20 | Version 1 |
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.

    This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
    Ideas, requests, problems regarding Foswiki? Send feedback
    This website is using cookies. More info. That's Fine