Parsing techniques: a practical guide
Parsing techniques: a practical guide
On The Ambiguity Problem of Backus Systems
Journal of the ACM (JACM)
On ambiguity in phrase structure languages
Communications of the ACM
Analyzing ambiguity of context-free grammars
CIAA'07 Proceedings of the 12th international conference on Implementation and application of automata
Conservative ambiguity detection in context-free grammars
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
An experimental ambiguity detection tool
Science of Computer Programming
Faster ambiguity detection by grammar filtering
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Ambiguity detection: scaling to scannerless
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
On LR parsing with selective delays
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.00 |
One way of verifying a grammar is the detection of ambiguities. Ambiguities are not always unwanted, but they can only be controlled if their sources are known. Unfortunately, the ambiguity problem for context-free grammars is undecidable in the general case. Various ambiguity detection methods (ADMs) exist, but they can never be perfect. In this paper we explore three ADMs to test whether they still can be of any practical value: the derivation generator AMBER, the LR(k) test and the Noncanonical Unambiguity test. We benchmarked their implementations on a collection of ambiguous and unambiguous grammars of different sizes and compared their practical usability. We measured the accuracy, termination and performance of the methods, and analyzed how their accuracy could be traded for performance.