Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Rodney Farrow

dblp:47/243 · DBLP profile ↗
← Back
6ranked-venue papers
5as first author
0since 2021 · last 1992
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 3 first-authorTheory of computation · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 48% Programming languages and type systems · 29% Software maintenance and evolution · 18%
Theoretical computer science
1 paper
Automata and formal languages · 50% Graph algorithms and graph theory · 50%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Electronic design automation · 100%

Topics — the 9 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
compiler construction
0.031992
Composable Attribute Grammars: Support for Modularity in Translator Design and Implementation · POPL 1992
A VHDL Compiler Based on Attribute Grammar Methodology · PLDI 1989
Experience with an Attribute Grammar-Based Compiler · POPL 1982
Programming languages and type systems › grammar formalisms
attribute grammars
0.021992
Composable Attribute Grammars: Support for Modularity in Translator Design and Implementation · POPL 1992
Experience with an Attribute Grammar-Based Compiler · POPL 1982
Electronic design automation › high-level synthesis › hardware generation
hardware description language generation
0.011989
A VHDL Compiler Based on Attribute Grammar Methodology · PLDI 1989
Program analysis
data flow analysis
0.011976
Graph Grammars and Global Program Data Flow Analysis · FOCS 1976
Program analysis › data flow analysis
global flow analysis
0.011976
Graph Grammars and Global Program Data Flow Analysis · FOCS 1976
Automata and formal languages
graph grammars
0.011976
Graph Grammars and Global Program Data Flow Analysis · FOCS 1976
Graph algorithms and graph theory › graph theory › graph transformation
graph reduction
0.011976
Graph Grammars and Global Program Data Flow Analysis · FOCS 1976
Compilers and program optimization
code generation
0.011982
Experience with an Attribute Grammar-Based Compiler · POPL 1982
Compilers and program optimization › compiler front end
semantic analysis
0.011982
Experience with an Attribute Grammar-Based Compiler · POPL 1982

Methods — techniques the papers use, named apart from their topics

attribute evaluation · 0.0declarative specification · 0.0attribute grammars · 0.0attribute grammar · 0.0graph grammar · 0.0church-rosser property · 0.0
YearPublicationVenuePosition
1992 Composable Attribute Grammars: Support for Modularity in Translator Design and Implementation
abstract
This paper introduces Composable Attribute Grammars (CAGs), a formalism that extends classical attribute grammars to allow for the modular composition of translation specifications and of translators. CAGs bring to complex translator writing systems the same benefits of modularity found in modern programming languages, including comprehensibility, reusability, and incremental meta-compilation.A CAG is built from several smaller component AGs, each of which solves a particular subproblem, such as name analysis or register allocation. A component AG is based upon a simplified phrase-structure that reflects the properties of its subproblem rather than the phrase-structure of the source language. Different component phrase-structures for various subproblems are combined by mapping them into a phrase-structure for the source language. Both input and output attributes can be associated with the terminal symbols of a component AG. Output attributes enable the results of solving a subproblem to be distributed back to anywhere that originally contributed part of the subproblem, e.g. transparently distributing the results of global name analysis back to every symbolic reference in the source program.After introducing CAGs by way of an example, we provide a formal definition of CAGs and their semantics. We describe a subclass of CAGs and their semantics. We describe a subclass of CAGs, called separable CAGs, that have favorable implementation properties. We discuss the novel aspects of CAGs, compare them to other proposals for inserting modularity into attribute grammars, and relate our experience using CAGs in the Linguist translator-writing system.
Rodney Farrow, Thomas J. Marlowe, Daniel M. Yellin
POPL1
1990 Automatic Maintenance of Routine Programming Tasks Based on a Declarative Description (Experience Report)
David B. Bernstein, Rodney Farrow
ICSE2
1989 A VHDL Compiler Based on Attribute Grammar Methodology
abstract
This paper presents aspects of a compiler for a new hardware description language (VHDL) written using attribute grammar techniques. VHDL is introduced, along with the new compiler challenges brought by a language that extends an Ada subset for the purpose of describing hardware. Attribute grammar programming solutions are presented for some of the language challenges.
Rodney Farrow, Alec G. Stanculescu
PLDI1
1986 A Comparison of Storage Optimizations in Automatically-Generated Attribute Evaluators
Rodney Farrow, Daniel M. Yellin
Acta Informatica1
1982 Experience with an Attribute Grammar-Based Compiler
abstract
Experience writing a production compiler based on an attribute grammar is related. The compiler is Intel Corporation's Pascal-86 compiler which runs on a microcomputer-based system. An attribute grammar was written describing semantic analysis, storage allocation and translation to intermediate code. Attribute evaluation is done in two alternating passes [J] and the program tree is kept in intermediate files on disk. Various techniques for optimizing the evaluator were tried. Their success is reported and compared with other ideas from the literature.
Rodney Farrow
POPL1
1976 Graph Grammars and Global Program Data Flow Analysis
abstract
Program structure is defined in terms of a simple graph grammar, the "semi-structured flow graph grammar," which admits many of the control structure extensions suggested for "structured programming." The grammar defines a set of graph reductions which are shown to have the "Finite Church-Rosser (FCR)" property; i.e., when applied in any order to a graph, the limit (when no further reductions are possible) is unique. In particular, if a given graph is generated by the grammar, repeated application of the reductions will result in a single node regardless of the order in which they are applied. This property gives rise to an algorithm that parses a given program flow graph in time linear in the size of the graph. The resulting parse is used in a global data flow analysis algorithm which requires a number of bit-vector steps which is also linear in the size of the given graph.
Rodney Farrow, Ken Kennedy, Linda Zucconi
FOCS1