mbeckerle commented on code in PR #987:
URL: https://github.com/apache/daffodil/pull/987#discussion_r1907612130
##########
daffodil-core/src/main/scala/org/apache/daffodil/core/grammar/Grammar.scala:
##########
@@ -89,10 +90,19 @@ class SeqComp private (context: SchemaComponent, children:
Seq[Gram])
_.isInstanceOf[NadaParser]
}
+ lazy val assertExpressionChildren = parserChildren.filter {
+ _.isInstanceOf[AssertExpressionEvaluationParser]
Review Comment:
I am raising this issue about the spec with the DFDL workgroup. (We have a
call tomorrow).
The spec is completely silent about order of evaluation of multiple asserts
in a single location of the schema, whether they are done in schema order,
whether the first failure stops that evaluation, etc.
The spec does say that the discriminators are evaluated last, even if there
are other failures (to parse, or assertions). This allows for them to be
optimized and executed earlier, when they might have been evaluated to true
before the parser got a failure. The spec also prevents there from being more
than one discriminator at any annotation point.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]