Frank DeRemer

Learn More
We distinguish the activity of writing large programs from that of writing small ones. By large programs we mean systems consisting of many small programs (modules), possibly written by different people. We need languages for programming-in-the-small, i.e. languages not unlike the common programming languages of today, for writing modules. We also need a(More)
A class of context-free grammars, called the &#8220;Simple <italic>LR</italic>(<italic>k</italic>)&#8221; or <italic>SLR</italic>(<italic>k</italic>) grammars is defined. This class has been shown to include weak precedence and simple precedence grammars as proper subsets. How to construct parsers for the <italic>SLR</italic>(<italic>k</italic>) grammars is(More)
Some characteristics of nine recently developed or historically significant languages are discussed. Abstraction capabilities of the languages are noted in particular. Some characteristics of the languages are displayed in tabular form and others are presented in a separate discussion for each language. A hash coded string table program is written in each(More)
Research in progress is reported regarding a variation on attribute and affix grammars intended for describing the "static semantic" or "context-sensitive syntactic" constraints on programming languages. The grammars are oriented toward aDstract-syntax trees, rather than concrete-syntax strings. Attributes are also trees (only) and predicates are simply(More)