lutaml / expressir

Ruby parser for the ISO EXPRESS language
3 stars 3 forks source link

Potential eengine bug: alias statement is not recognized #25

Open zakjan opened 3 years ago

zakjan commented 3 years ago

Example from ISO 10303-11:2004, 13.2 "Alias statement":

ENTITY line;
  start_point,
  end_point : point;
END_ENTITY;

FUNCTION calculate_length (the_line : line) : real;
ALIAS s FOR the_line.start_point;
  ALIAS e FOR the_line.end_point;
    RETURN (SQRT((s.x - e.x)**2 + (s.y - e.y)**2 + (s.z - e.z)**2)) ;
  END_ALIAS;
END_ALIAS;
END_FUNCTION;

Fails with error message:

Error: When attempting to test to see whether slot is bound (SLOT-BOUNDP), the slot EEK::QUALIFIERS is missing from the object EU::THE_LINE.

Originally posted in https://github.com/lutaml/expressir/issues/11#issuecomment-728718467

ronaldtse commented 3 years ago

Screenshot:

Screen Shot 2020-11-19 at 3 15 56 PM
ronaldtse commented 3 years ago

Reported at: http://bz.pdes-ch.org/show_bug.cgi?id=8484