Skip to content

Draft: Resolve "Enhancing EQL Parser"

Salif SAWADOGO requested to merge 3-enhancing-eql-parser into main

Incoming changes description:

  1. EntityQueryLanguage : Parses DSL strings like AIRCRAFT() .
  2. Handling Multiple Argument : If an entity type (e.g., AIRCRAFT) can take multiple sub‐entities of the same kind (e.g., multiple AIRLINE(...) clauses), we accumulate them into a Python list internally.
  3. Merging __matches__
    • In earlier code, merging two __matches__ dictionaries used +=, which failed (cannot += two dicts).
    • Now I suggestdict.update() and, when the same argument name appears twice, we convert the existing value into a list and append the new one.

Examples

  1. How many aircrafts in the database. Expected dsl should be only AIRCRAFT() 2A6EC06D-CCCD-4701-B383-77A2355DD3E9
  2. How many aircrafts for Air France and Brussel Airlines. Expected dsl should be only AIRCRAFT(AIRLINE("Air France"), AIRLINE("Brussels airlines"))

52C53E5B-FB2F-4907-ADE3-AF6C8CB288B4

Edited by Salif SAWADOGO

Merge request reports