Crafting a compiler
The syntax definition formalism SDF—reference manual—
ACM SIGPLAN Notices
Scannerless NSLR(1) parsing of programming languages
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A practical method for constructing efficient LALR(K) parsers with automatic error recovery
A practical method for constructing efficient LALR(K) parsers with automatic error recovery
LL and LR translators need k1 lookahead
ACM SIGPLAN Notices
Generation of formatters for context-free languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
On The Ambiguity Problem of Backus Systems
Journal of the ACM (JACM)
Detection of Generative Ambiguities in Context-Free Mechanical Languages
Journal of the ACM (JACM)
Ambiguity in context free languages
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Software—Practice & Experience
Deterministic parsing of ambiguous grammars
Communications of the ACM
An efficient context-free parsing algorithm
Communications of the ACM
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Packrat parsing:: simple, powerful, lazy, linear time, functional pearl
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Applying software engineering techniques to parser design: the development of a C# parser
SAICSIT '02 Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology
Generating Test Data with Enhanced Context-Free Grammars
IEEE Software
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Disambiguation Filters for Scannerless Generalized LR Parsers
CC '02 Proceedings of the 11th International Conference on Compiler Construction
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
Aspect-Oriented Programming is Quantification and Obliviousness
Aspect-Oriented Programming is Quantification and Obliviousness
Parsing expression grammars: a recognition-based syntactic foundation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Programming languages and their compilers: Preliminary notes
Programming languages and their compilers: Preliminary notes
Languages evolve too! Changing the Software Time Scale
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Evaluating GLR parsing algorithms
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Declarative, formal, and extensible syntax definition for aspectJ
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Preventing injection attacks with syntax embeddings
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
Parsing algorithms with backtrack
SWAT '70 Proceedings of the 11th Annual Symposium on Switching and Automata Theory (swat 1970)
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Natural and flexible error recovery for generated parsers
SLE'09 Proceedings of the Second international conference on Software Language Engineering
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A language specification tool for model-based parsing
IDEAL'11 Proceedings of the 12th international conference on Intelligent data engineering and automated learning
Declaratively defining domain-specific language debuggers
Proceedings of the 10th ACM international conference on Generative programming and component engineering
Integrated language definition testing: enabling test-driven language development
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Ambiguity detection: scaling to scannerless
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
A model-driven parser generator with reference resolution support
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Software development environments on the web: a research agenda
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Natural and Flexible Error Recovery for Generated Modular Language Environments
ACM Transactions on Programming Languages and Systems (TOPLAS)
On LR parsing with selective delays
CC'13 Proceedings of the 22nd international conference on Compiler Construction
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.00 |
Syntax definitions are pervasive in modern software systems, and serve as the basis for language processing tools like parsers and compilers. Mainstream parser generators pose restrictions on syntax definitions that follow from their implementation algorithm. They hamper evolution, maintainability, and compositionality of syntax definitions. The pureness and declarativity of syntax definitions is lost. We analyze how these problems arise for different aspects of syntax definitions, discuss their consequences for language engineers, and show how the pure and declarative nature of syntax definitions can be regained.