stevedlawrence commented on a change in pull request #369:
URL: https://github.com/apache/incubator-daffodil/pull/369#discussion_r416687090
##########
File path:
daffodil-core/src/main/scala/org/apache/daffodil/grammar/HasStatementsGrammarMixin.scala
##########
@@ -18,10 +18,11 @@
package org.apache.daffodil.grammar
import org.apache.daffodil.dsom.Term
+import org.apache.daffodil.dsom.DFDLNewVariableInstance
trait HasStatementsGrammarMixin extends GrammarMixin { self: Term =>
- private lazy val statementGrams = statements.map { _.gram(self) }
+ private lazy val statementGrams = statements.filter{ st =>
!st.isInstanceOf[DFDLNewVariableInstance] }.map { _.gram(self) }
Review comment:
I think the parser order is right. In ElementCombinator1.scala, the
parse() method first does pattern discrim/asserts. Then it does parseBegin
which just creates the infoset element. Then it does eBeforeParser which is the
NVE (and framing), and so on. So I think we're doing pattern stuff first.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]