BenHanson/wildcardtl

Feature request: more powerful patterns

data-man opened this issue · 0 comments

For example https://github.com/alexst07/glob-cpp supports this grammar:

<glob>              ::= <concat-glob> <EOS>;
<glob-group>        ::= <union> | <union> <glob-group>;
<union>             ::= <concat-glob> | <concat-glob> "|" <union>
<concat-glob>       ::= <basic-glob> | <basic-glob> <concat-glob>;
<basic-glob>        ::= <group>
                      | <any>
                      | <star>
                      | <char>
                      | <set>;

<group>             ::= <basic-group>
                      | <any-group>
                      | <star-group>
                      | <plus-group>
                      | <neg-group>
                      | <at-group>;

<basic-group>       ::= "(" <glob-group> ")"
<any-group>         ::= "?(" <glob-group> ")"
<star-group>        ::= "*(" <glob-group> ")"
<plus-group>        ::= "+(" <glob-group> ")"
<neg-group>         ::= "!(" <glob-group> ")"
<at-group>          ::= "@(" <glob-group> ")"
<any>               ::= "?";
<star>              ::= "*";
<set>               ::= <positive-set> | <negative-set>;
<positive-set>      ::= "[" <set-items> "]";
<negative-set>      ::= "[^" <set-items> "]";
<set-items>         ::= <set-item> | <set-item> <set-items>
<set-item>          ::= <range> | <char>;
<range>             ::= <char> "-" <char>;

But it has a bugs.