The Computer Journal
The syntax definition formalism SDF—reference manual—
ACM SIGPLAN Notices
What can we do about the unnecessary diversity of notation for syntactic definitions?
Communications of the ACM
backus normal form vs. Backus Naur form
Communications of the ACM
IEEE Std 1178-1990, IEEE Standard for the Scheme Programming Language
IEEE Std 1178-1990, IEEE Standard for the Scheme Programming Language
Semi-automatic grammar recovery
Software—Practice & Experience
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
Generating Robust Parsers using Island Grammars
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Tracking down the origins of ambiguity in context-free grammars
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
A unified format for language documents
SLE'10 Proceedings of the Third international conference on Software language engineering
Recovering grammar relationships for the Java Language Specification
Software Quality Control
Notation-parametric grammar recovery
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Hi-index | 0.00 |
Reusing existing grammar knowledge residing in standards, specifications and manuals for programming languages, faces several challenges. One of the most significant of them is the diversity of syntactic notations: without loss of generality, we can state that every single language document uses its own notation, which is more often than not, a dialect of the (Extended) Backus-Naur Form. In this paper we report on an approach to solve the diversity problem by providing a way to quickly and concisely specify all the parameters of a syntactic notation. The resulting "meta-ebnf" language was used to successfully recover many grammars from sources that use different syntactic notations. Instead of adding another syntactic notation and arguing about its excellence, we propose to retain the diversity and to cope with it by formally defining syntactic notations and using such definitions to import existing grammars to grammar engineering frameworks and to export (pretty-print) existing grammars to any desired syntactic notation. This result effectively bridges programming language standards and parser generators. The conclusions presented in the paper, were drawn based on analysis of a large corpus of language documents, as well as on the success of its application in practice.