This is an automated email from the ASF dual-hosted git repository.

dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-access.git

commit 160484a4b52fc4b609cc4e3ab3392442b8d1598a
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Fri Sep 8 22:26:57 2023 -0400

    removes left recursion from specification
---
 SPECIFICATION.md | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/SPECIFICATION.md b/SPECIFICATION.md
index 3e043f6..62152e2 100644
--- a/SPECIFICATION.md
+++ b/SPECIFICATION.md
@@ -33,15 +33,16 @@ the following [ABNF][1]:
 ```
 access-expression       = [expression] ; empty string is a valid access 
expression
 
-expression              =  and-expression / or-expression
+expression              =  access-token [and-expression / or-expression]
+expression              =/ paren-expression [and-expression / or-expression]
 
-and-expression          =  and-expression and-operator and-expression
-and-expression          =/ lparen expression rparen
-and-expression          =/ access-token
+paren-expression        =  "(" expression ")"
 
-or-expression           =  or-expression or-operator or-expression
-or-expression           =/ lparen expression rparen
-or-expression           =/ access-token
+and-expression          =  "&" access-token [and-expression]
+and-expression          =/ "&" paren-expression [and-expression]
+
+or-expression           =  "|" access-token [or-expression]
+or-expression           =/ "|" paren-expression [or-expression]
 
 access-token            = 1*( ALPHA / DIGIT / "_" / "-" / "." / ":" / slash )
 access-token            =/ DQUOTE 1*(utf8-subset / escaped) DQUOTE
@@ -49,10 +50,6 @@ access-token            =/ DQUOTE 1*(utf8-subset / escaped) 
DQUOTE
 utf8-subset             = %x20-21 / %x23-5B / %5D-7E / UVCHARBEYONDASCII ; 
utf8 minus '"' and '\'
 escaped                 = "\" DQUOTE / "\\"
 slash                   = "/"
-or-operator             = "|"
-and-operator            = "&"
-lparen                  = "("
-rparen                  = ")"
 ```
 
 The definition of utf8 was borrowed from this [ietf document][2].  TODO that 
doc defines unicode and not utf8

Reply via email to