Expressing disambiguation filters as combinators

José Nuno Macedo, João Saraiva
2020 Proceedings of the 35th Annual ACM Symposium on Applied Computing  
Contrarily to most conventional programming languages where certain symbols are used so as to create non-ambiguous grammars, most recent programming languages allow ambiguity. These ambiguities are solved using disambiguation rules, which dictate how the software that parses these languages should behave when faced with ambiguities. Such rules are highly efficient but come with some limitations -they cannot be further modified, their behaviour is hidden, and changing them implies re-building a
more » ... arser. We propose a different approach for disambiguation. A set of disambiguation filters (expressed as combinators) are provided, and disambiguation can be achieved by composing combinators. New combinators can be created and, by having the disambiguation step separated from the parsing step, disambiguation rules can be changed without modifying the parser.
doi:10.1145/3341105.3374123 dblp:conf/sac/MacedoS20 fatcat:hkkpk2pgyzdopmakwz4ez6r7qm