Changes between Version 6 and Version 7 of Taskforces/FCS/FCS-QL


Ignore:
Timestamp:
08/05/15 12:47:21 (9 years ago)
Author:
peter.beinema@mpi.nl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Taskforces/FCS/FCS-QL

    v6 v7  
    110110== Discussion ==
    111111Peter Beinema, MPI, proposes some minor changes to the grammar:
    112  * main query [2] / simple query [3]: above definition generate structural ambiguity. Not a problem for ANTLR (which selects the right-recursive solution), but some other parser generators generate all solutions - which are exponential wrt the number of main queries. I propose to use the alternative rules given below.
    113  * above rule [2] can generate infinite array of quantifiers: "word" +*{23}(,17}? would be legal.
    114  * rule 5: option marker '?' makes "[]" a valid query. Propose to remove question mark.
    115  * expression [11] / basic expression [12]: structural ambiguity. See proposed alternative below.
     112 * main query {{{[2]}}} / simple query {{{[3]}}}: above definition generate structural ambiguity. Not a problem for ANTLR (which selects the right-recursive solution), but some other parser generators generate all solutions - which are exponential wrt the number of main queries. I propose to use the alternative rules given below.
     113 * above rule {{{[2]}}} can generate infinite array of quantifiers: {{{"word" +*{23}{,17}{2,}?+}}} would be legal.
     114 * rule {{{[5]}}}: option marker '?' makes "[]" a valid query. Propose to remove question mark.
     115 * expression {{{11}}} / basic expression {{{[12]}}}: structural ambiguity. See proposed alternative below.
     116 * attached file contains an antlr4 grammar, including comments on how to use it on mac / unix / linux platform
    116117== ENBF ==
    117118{{{
     
    124125
    125126[3 v2]
    126 
    127127simple_query ::=
    128128      '(' main_query ')'  /* embedding moved from main-query to simple-query
     
    144144      '(' expression ')'        // grouping
    145145    | '!' expression            // not
    146     | attribute operator flagged_regexp
    147 
     146    | attribute operator flagged-regexp
    148147}}}
    149148