lutaml / expressir

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

Potential eengine bug: Error parsing binary and encoded string expression in constant #24

Open ronaldtse opened 3 years ago

ronaldtse commented 3 years ago

Another interesting error is with binary and encoded string expression in constant.

CONSTANT
  binaryExpression : BINARY := %011110000111100001111000;
END_CONSTANT;

or

CONSTANT
  encodedStringExpression : STRING := "000000780000007800000078";
END_CONSTANT;

Fails with:

Error: CONSTANT_BODY expected '#\;', got 'P11:END_CONSTANT'

Is there anything wrong about this? Or eengine doesn't fully cover the spec?

Originally posted by @zakjan in https://github.com/lutaml/expressir/issues/11#issuecomment-728732402

ronaldtse commented 3 years ago

From @trthurman:

Please add Robert Swindells to this email thread. Robert is the developer responsible for eengine these days. This particular structure is not used in ISO 10303 nor have I ever seen it in a schema, so I personally don't care about it. Robert can advise further.

ronaldtse commented 3 years ago

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