chrfrantz / IG-Parser

Parser for IG 2.0 Statements encoded in IG Script Notation
GNU General Public License v3.0
7 stars 3 forks source link

Extend syntax to capture component combinations with distinctive logical operators and private properties #11

Closed chrfrantz closed 1 year ago

chrfrantz commented 2 years ago

Components that carry private properties and are embedded in a component combination cannot be represented with logical operators other than an implicit AND.

In the following example, it is not possible to reflect an [OR] linkage between A1(farmer) and A2(citizen), where only farmer has a private property (A1,p(first)).

Example: A(Program Manager) D(may) I(administer) Bdir(sanctions) {Cac{A(Program Manager) I(suspects) Bdir{A1,p(first) A1(farmer) A2(citizen) I((violates [OR] does not comply)) with Bdir(regulations)}} [OR] Cac{A(Program Manager) I(has witnessed) Bdir,p(farmer's) Bdir(non-compliance) Cex(in the past)}}

Proposed syntax: ... Bdir{A1,p(first) (A1(farmer) [OR] A2(citizen)) ... or ... Bdir{(A1,p(first) A1(farmer) [OR] A2(citizen)) ...

chrfrantz commented 1 year ago

Issue to be addressed in conjunction with #2 Syntax will be { A,p(first) A(firstA) [OR] A(secondA) }.

chrfrantz commented 1 year ago

Resolved with merge of branch component-pair-combinations