Attribute grammars as a functional programming paradigm
Proc. of a conference on Functional programming languages and computer architecture
Attribute grammars: definitions, systems and bibliography
Attribute grammars: definitions, systems and bibliography
Higher order attribute grammars
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
JastAdd: an aspect-oriented compiler construction system
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
An Optimal-time Recursive Evaluator for Attribute Grammars
Proceedings of the 6th Colloquium on International Symposium on Programming
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Journal of the ACM (JACM)
Scalable component abstractions
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
The jastadd extensible java compiler
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Extending Attribute Grammars with Collection Attributes--Evaluation and Applications
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Silver: an Extensible Attribute Grammar System
Electronic Notes in Theoretical Computer Science (ENTCS)
Modular name analysis for java using jastadd
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Lightweight language processing in Kiama
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
Building semantic editors using JastAdd: tool demonstration
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
Integrating attribute grammar and functional programming language features
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Comparison of context-free grammars based on parsing generated test data
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Paisley: pattern matching à la carte
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Generating attribute grammar-based bidirectional transformations from rewrite rules
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Attribute grammars are a powerful specification paradigm for many language processing tasks, particularly semantic analysis of programming languages. Recent attribute grammar systems use dynamic scheduling algorithms to evaluate attributes by need. In this paper, we show how to remove the need for a generator, by embedding a dynamic approach in a modern, object-oriented programming language to implement a small, lightweight attribute grammar library. The Kiama attribution library has similar features to current generators, including cached, uncached, circular, higher-order and parameterised attributes, and implements new techniques for dynamic extension and variation of attribute equations. We use the Scala programming language because of its combination of object-oriented and functional features, support for domain-specific notations and emphasis on scalability. Unlike generators with specialised notation, Kiama attribute grammars use standard Scala notations such as pattern-matching functions for equations and mixins for composition. A performance analysis shows that our approach is practical for realistic language processing.