Closed sulir closed 12 years ago
To be more precise, a unit (usually a byte) will be checked instead of the whole variant.
Ambiguity means that for some rule, given a unit of input, the decoder is not able to decide which one (and only one) execution path to choose without reading more units or walking up the switch-case tree later and choosing an another path (or not at all).
There is one more meaning of ambiguity - when one pattern has more than one child variant.
The variant ambiguity was fixed in 09a5079.
Currently it is possible to write such input file that more than one variant of a rule can match. This can cause unintended behavior of the generated instruction decoder.
It would be useful to detect such cases and stop the generator, printing an error message.