Subject: Re: [scim] Filter grammar issues for valFilter

From: Paul Bismuth <[email-masked]>
Date: Sat, 20 Apr 2019 16:58:00 +0300

Dear all,

Are these questions irrelevant in some way, or is the grammar flawed?
Has anyone ever impemented this grammar with an LALR-1 parser?

Regards,

Paul

вт, 26 мар. 2019 г. в 14:54, Paul Bismuth <[email-masked]>:
>
> Hello,
>
> It seems to me that there are some problems with the updated grammar
> (section 3.4.2 of RFC7644) and the following errata:
>
> ==============
> Errata ID: 4690
> Status: Reported
> Type: Technical
>
> Reported By: Phil Hunt
> Date Reported: 2016-05-10
>
> Section 3.4.2.2 says:
>
> valFilter = attrExp / logExp / *1"not" "(" valFilter ")"
>
> It should say:
>
> valFilter = attrExp / valLogExp / *1"not" "(" valFilter ")"
>
> valLogExp = attrExp SP ("and" / "or") SP attrExp
> ==============
>
> * It seems to me that the updated grammar allows expressions such as
> "attr.subattr[subattr.x]", however it doesn't make sense regarding the
> SCIM data model
> * The rule "valLogExp = attrExp SP ("and" / "or") SP attrExp" doesn't
> allow more than one "and" or "or". Therefore expression such as
> "attr[subattr1 pr and subattr2 pr or subattr3 pr]" is rejected
> * "valLogExp" doesn't allow the use of the "not" operand except when
> negating the whole "valFilter". Is that normal?
> * "valLogExp" doesn't allow precedence grouping ("( exp1 or exp2 ) and exp3")
>
> I'd be glad to help with the grammar if these issues are confirmed.
>
> Cheers,
>
> Paul