I suggested revising the precedence order section.
So, I spent a few hours trying to reinvent the precedence order section along the lines of the grammar version 007.
I failed.
I kept ending up with a structure not too different from what exists already in the spec.
The thought process goes something like this:
- Create a tree corresponding to the grammar
- Annotate the leaves with every relevant property.
- Annotate the interior nodes of the tree with the properties needed just to get to that node of the tree, or that appear beneath that node down multiple paths.
- And finally, don't repeat things.
The problem: the grammar productions and terminals don't provide enough ways to share to avoid lots of duplication. The grammar leaves out exactly the details needed - representation (the grammar regions often have both a textual and a binary personality that are quite different), and length (the grammar regions are mostly silent about lengthKind).
You end up wanting to create a big class diagram and have each node of the tree associated with multiple classes. It's a mixin-style multiple-inheritance scheme. It's not very interesting because so many things inherit so many properties (because they have both textual and binary forms, and work with different length kinds.)
If you approximate this by what you can create in a nested hierarchy, you have to repeat some properties, but you end up being not very different from the breakdown of what is called out in the precedence section of the document as written currently.....
voila... full circle.
I went round and round this enough times to convince myself that whatever I was producing wasn't adding value over what is already there in the precedence section as written today.
I also convinced myself that the precedence section as written, does add substantial value exactly because it is NOT organized along the lines of the grammar, but orthogonally to it.
I suggest we close out Action 189. I think it will not pan out. There may be other adjustments to be made to the precedence section, but the rewrite along the lines of the grammar is not an idea that will pan out.
...mikeb
--
Mike Beckerle | OGF DFDL WG Co-Chair
Tel: 781-330-0412