Results 1 
6 of
6
A Family of Syntax Definition Formalisms
 PROGRAMMING RESEARCH GROUP, UNIVERSITY OF AMSTERDAM
, 1997
"... ..."
Precedences in Specifications and Implementations of Programming Languages
 Theoretical Computer Science
, 1991
"... Although precedences are often used to resolve ambiguities in programming language descriptions, there has been no parserindependent definition of languages which are generated by grammars with precedence rules. This paper gives such a definition for a subclass of contextfree grammars. The defi ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
Although precedences are often used to resolve ambiguities in programming language descriptions, there has been no parserindependent definition of languages which are generated by grammars with precedence rules. This paper gives such a definition for a subclass of contextfree grammars. The definition is shown to be equivalent to the implicit definition an operator precedence parser gives. A problem with a language containing infix, prefix and postfix operators of different precedences is that the wellknown algorithm, which transforms a grammar with infix operator precedences to an ordinary unambiguous contextfree grammar, does not work. This paper gives an algorithm that works also for prefix and postfix operators, and the correctness of it is proved. An application of the algorithm is also presented. 1 Introduction Precedences are used in many language descriptions to resolve ambiguities. The reason for resolving ambiguities with precedences, instead of using an unambig...
A Case Study in Optimizing Parsing Schemata by Disambiguation Filters
 Proceedings Accolade95
"... Disambiguation methods for contextfree grammars enable concise specification of programming languages by ambiguous grammars. A disambiguation filter is a function that selects a subset from a set of parse treesthe possible parse trees for an ambiguous sentence. The framework of filters provides ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
Disambiguation methods for contextfree grammars enable concise specification of programming languages by ambiguous grammars. A disambiguation filter is a function that selects a subset from a set of parse treesthe possible parse trees for an ambiguous sentence. The framework of filters provides a declarative description of disambiguation methods independent of parsing. Although filters can be implemented straightforwardly as functions that prune the parse forest produced by some generalized parser, this can be too inefficient for practical applications. In this paper the optimization of parsing schemata, a framework for highlevel description of parsing algorithms, by disambiguation filters is considered in order to find efficient parsing algorithms for declaratively specified disambiguation methods. As a case study the optimization of the parsing schema of Earley's parsing algorithm by two filters is investigated. The main result is a technique for generation of efficient LRlike p...
From ContextFree Grammars With Priorities to Character Class Grammars
, 1997
"... ... In this paper we introduce a grammar transformation that translates a contextfree grammar with priorities to a character class grammar that does only generate trees without priority conflicts. The transformed grammar has the property that each production corresponds to a production in the origi ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
... In this paper we introduce a grammar transformation that translates a contextfree grammar with priorities to a character class grammar that does only generate trees without priority conflicts. The transformed grammar has the property that each production corresponds to a production in the original grammar and that no extra productions are used. The parse trees over the transformed grammar are therefore isomorphic to parse trees over the original grammar.
Lemma 16.2
, 1993
"... urned by Algorithm B. Proof: The result is trivial if t 0 = t 1 , for then also t 0 0 = t 0 1 , so the projection of (t 0 0 ; t 0 1 ) is ?, which is returned in step B.1 Thus we may assume that t 0 6= t 1 . Notice that this does not in general imply t 0 0 6= t 0 1 . However, if t 0 0 ..."
Abstract
 Add to MetaCart
urned by Algorithm B. Proof: The result is trivial if t 0 = t 1 , for then also t 0 0 = t 0 1 , so the projection of (t 0 0 ; t 0 1 ) is ?, which is returned in step B.1 Thus we may assume that t 0 6= t 1 . Notice that this does not in general imply t 0 0 6= t 0 1 . However, if t 0 0 6= t 0 1 and a 0\Gamma is the longest common prefix of the action sequences of t 0 0 and t 0 1 , then state(t 0 ; ja 0\Gamma j) = state(t 1<F13.