Language Standardization Needs Grammarware

Steven Klusener, Vadim Zaytsev. Language Standardization Needs Grammarware. JTC1/SC22 Document N3977, ISO/IEC, 2005.


The ISO programming language standards are valuable documents that describe the syntax and semantics of mainstream languages. New features are proposed after thorough reviews by the standardization committees, leading to change documents that describe which modifications have to be enforced in the language standard document in order to actually add a new feature to the language. Maintaining these documents, both the language standard itself and all the change documents, is a time and resource consuming effort and in the evolution of these documents inconsistencies may be introduced. In this note we propose to utilize grammarware, a collection of new methods and new technology which can be used to support the advancement of these language documents in a more structured way. Besides, we will discuss how other tooling (like browsable language definitions, parser generators, pretty-printers, code checkers, etc.) can be obtained from the language standard. The final objective is threefold: (1) to facilitate the standardization committees in their activities and to raise the quality of the language standard documents; (2) to extend the usability of language standards by providing various presentations of each standard (in a human readable document, in a browsable form, in a machine readable BNF, etc.); (3) to help tool builders (compiler vendors, IDE vendors, etc.) in generating their parsing front-end, and to provide technology for tool builders to specify differences between their dialects and the actual standard.