anchor.diff:  action: actor task;
   fluentsList: fluent | fluentsList ',' fluent;
   
  -
  +scenariosList: scenario | scenariosList '\n' scenario;
   scenario: id '{' actions ',' observations '}';
   
   actions: ACS '=' '{' eventsList '}';
  
positive.code: observationsList: observation | observationsList ',' observation;
  observation: '(' fluent ',' time ')';
  
  
  query
    : question fluent AT time WHEN scenarioId
    | question PERFORMED action AT time WHEN scenarioId
  
negative.code: TYPICALLY: 'typically';
  WHEN: 'when';
  
  programm: actionLanguage '\n' scenariosList '\n' queries;
  
  actionLanguage: initiallisation '\n' entriesList;
  entriesList: entry | entriesList '\n' entry;
  entry
    : causes
    | invokes
    | releases
    | triggers
    | TYPICALLY causes
    | TYPICALLY invokes
    | TYPICALLY releases
    | TYPICALLY triggers
    | impossible
    | always
    ;
  
  initiallisation: INITIALLY fluentsList;
  causes: action CAUSES fluentsList underCondition;
  