Translation of attribute grammars into procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Attribute grammar paradigms—a high-level methodology in language implementation
ACM Computing Surveys (CSUR)
A Classification of Noncircular Attribute Grammars Based on the Look-Ahead Behavior
IEEE Transactions on Software Engineering
Parallel Evaluation of Attribute Grammars
IEEE Transactions on Parallel and Distributed Systems
A Survey of Parallel Attribute Evaluation Methods
Proceedings on Attribute Grammars, Applications and Systems
Parallel evaluation in attribute grammar-based systems
Parallel evaluation in attribute grammar-based systems
Hi-index | 0.00 |
The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute instances in different regions are independent of one other. The advantages of partitioning the attribute dependence graph include simplifying the attribute grammar conceptually and allowing the possibility of parallel evaluation. We present a static partitioning algorithm for attribute grammars. The algorithm builds the set of all feasible partitions for every production by analyzing the grammar. After the attributed syntax tree is constructed, one of the feasible partitions is chosen for each production instance in the syntax tree. Gluing together the selected partitions for individual production instances results in a partition of the attribute dependence graph of the syntax tree. No further merging or partitioning is needed at evaluation time. In addition to static partitioning, the algorithm always produces the finest partition of every attribute dependence graph. An application of the partitioning technique is the strictness analysis for a simple programming language that contains no higher-order functions.