ehuss/license-exprs

Parens for setting precedence

withoutboats opened this issue · 0 comments

The spec supports paren enclosed sub-expressions, which this library would find invalid.

The correct grammar:

license        ::= SPDX-license | SPDX-license, '+'
license_with   ::= license | license, 'WITH', SPDX-exception | '(', license_expr, ')'
license_joiner ::= 'AND' | 'OR'
license_expr   ::= license_with, (license_joiner, license_with)*

The 1.2.0 version's grammar:

license        ::= SPDX-license | SPDX-license, '+'
license_with   ::= license | license, 'WITH', SPDX-exception
license_joiner ::= 'AND' | 'OR'
license_expr   ::= license_with, (license_joiner, license_with)*