About this project

Grammars for programming languages are complex: two grammar rules can generate an exponential number of source code structures. Programming languages have hundreds of grammar rules. In the context of compiler construction—one language, one grammar, one compiler—this complexity is barely manageable. In the context of IDE construction,refactoring, and reverse engineering it is multiplied by the number of different languages, dialects, versions, embeddings and grammar usecases. These common engineering questions imply that grammars are software, thus requiring well-founded engineering principles and practices. The domain and theory of grammarware engineering is underdeveloped. This research contributes to this field by developing the scientific framework and tools for understanding, creating, versioning, analyzing, testing, debugging, visualizing, and maintaining grammars.

P Foundations for a Grammar Laboratory

There are no active topics