Results 1 - 10
of
11
Context-Free Languages and Push-Down Automata
- Handbook of Formal Languages
, 1997
"... Contents 1. Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.1 Grammars : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 Examples : : : : : : : : : : : : : : : : : : : : : : : : : : : ..."
Abstract
-
Cited by 48 (0 self)
- Add to MetaCart
Contents 1. Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.1 Grammars : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 Examples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2. Systems of equations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.1 Systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 2.2 Resolution : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 2.3 Linear systems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 2.4 Parikh's theorem : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
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 parser-independent definition of languages which are generated by grammars with precedence rules. This paper gives such a definition for a subclass of context-free grammars. The defi ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Although precedences are often used to resolve ambiguities in programming language descriptions, there has been no parser-independent definition of languages which are generated by grammars with precedence rules. This paper gives such a definition for a subclass of context-free 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 well-known algorithm, which transforms a grammar with infix operator precedences to an ordinary unambiguous context-free 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...
Modeless Structure Editing
, 1999
"... this paper we honour Tony by building a simple model of structure editing to serve as a basis for the design of a family of editors. Structure editors make it easy to perform edit actions in which structural units (commands, expressions, chapters, paragraphs) are manipulated. Unfortunately these edi ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
this paper we honour Tony by building a simple model of structure editing to serve as a basis for the design of a family of editors. Structure editors make it easy to perform edit actions in which structural units (commands, expressions, chapters, paragraphs) are manipulated. Unfortunately these editors can make it rather difficult to enter certain kinds of new structure. For example, from the earliest days of structure editors for programming languages users have complained about awkwardness in entering expressions with infix operators. To illustrate this consider the expression
Towards a brain compatible theory of syntax based on local testability
- in: C. Martin-Vide, V. Mitrana (Eds.), Grammars and Automata for String Processing: from Mathematics and Computer Science
, 2001
"... Abstract. Chomsky’s theory of syntax came after criticism of probabilistic associative models of word order in sentences. Immediate constituent structures are plausible but their description by generative grammars has met with difficulties. The type 2 (context-free) grammars account for constituent ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Chomsky’s theory of syntax came after criticism of probabilistic associative models of word order in sentences. Immediate constituent structures are plausible but their description by generative grammars has met with difficulties. The type 2 (context-free) grammars account for constituent structure, but already trespass the mathematical capacity required by language, because they generate unnatural mathematical sets: a consequence of being based on recursive function theory. Abstract associative models investigated by formal language theoreticians (Schutzenberger, McNaughton, Papert, Brzozowsky, Simon) are known as locally testable models. A combination of locally testable and constituent structure models is proposed under the name of Associative Language Description, arguing that it equals type 2 grammars in explanatory adequacy, yet is compatible with brain models. Two versions of ALD are exemplified and discussed: one based on modulation, the other on pattern rules. A sketch of brain organization in terms of cell assemblies and synfire chains concludes. 1.
PHRASE Parsers from Multi-Axiom Grammars
- Theoretical Computer Science
, 1996
"... The multi-axiom grammars (MAG) are alternatives to the single-axiom context free grammars (CFG) and all-axiom algebraic grammars (AG) for programming language specification. Neither phrase recognition nor algebraic mechanisms for language processing are supported by CFGs. AGs support algebraic mecha ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The multi-axiom grammars (MAG) are alternatives to the single-axiom context free grammars (CFG) and all-axiom algebraic grammars (AG) for programming language specification. Neither phrase recognition nor algebraic mechanisms for language processing are supported by CFGs. AGs support algebraic mechanisms for language processing but specify a smaller class of languages. MAGs avoid these limitations. This paper describes a new parsing algorithm developed on this basis which recognizes any phrase in the language. Moreover, it does so by distributing the parsing task among a collection of smaller parsers which handle well-defined layers of the language in a piping manner. These language-layers are determined by the algebraic properties of the MAGs and are described in the paper. Basic definitions are given for multi-axiom grammar and language as well as for algebraic notions of subgrammar, primitive subgrammar, quotient grammar, and grammar/language layer. Algorithms are described to strat...
Pointwise Relational Program Derivation
- jno---DI/UM Braga --- LOGCOMP Workshop --- [ 13
, 1999
"... The point free relational calculus has proved quite successful in the derivation of general programming principles [1, 5]. When applied to specific examples, however, it can be somewhat painful to use, due to the large number of combinators required. In this note, we explore the suggestion that for ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The point free relational calculus has proved quite successful in the derivation of general programming principles [1, 5]. When applied to specific examples, however, it can be somewhat painful to use, due to the large number of combinators required. In this note, we explore the suggestion that for specific examples, it may be preferable to conduct relational derivations of concrete programs in a pointwise calculus of nondeterministic mappings. The presentation is is largely informal: we introduce concepts and notations through an example, and we do not spell out a formal semantics of the calculus.
Relational Programming, Program Inversion and the Derivation of Parsing Algorithms
, 1993
"... The spec calculus is a programming algebra that supports and even encourages the derivation of relational programs in a clear and calculational style. After a brief introduction of the spec calculus two particular uses are investigated. First, the notion of program inversion is introduced. This noti ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The spec calculus is a programming algebra that supports and even encourages the derivation of relational programs in a clear and calculational style. After a brief introduction of the spec calculus two particular uses are investigated. First, the notion of program inversion is introduced. This notion from imperative programming allows one to construct from a given program R that satisfies fPg R fQg a program R 1 that satis es fQg R 1 fPg . It is shown that, as may be expected, a relational framework allows easy definition of and calculation with inverses of arbitrary programs. Several examples are discussed and used to introduce different methods to calculate implementable inverses. The second topic is the derivation of precedence parsing algorithms. A simple algorithm for the calculation of the inorder traversal of a tree is transformed in two steps into an algorithm for precedence parsing. The first transformation is the use of program inversion to obtain an algorithm that constru...
From Context-Free Grammars With Priorities to Character Class Grammars
, 1997
"... this paper we introduce a grammar transformation that translates a context-free 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 gra ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
this paper we introduce a grammar transformation that translates a context-free 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. 1 Introduction
Living it up with a live programming language
- In Proceedings of OOPSLA Onward
, 2007
"... A dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use features. A live language supports live programming that provides programmers with re ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
A dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use features. A live language supports live programming that provides programmers with responsive and continuous feedback about how their edits affect program execution. A live language is also based on high-level constructs such as declarative rules so that programmers can write less code. A live language could also provide programmers with responsive semantic feedback to enable time-saving services such as code completion. This paper describes the design of a textual live language that is based on reactive data-flow values known as signals and dynamic inheritance. Our language, Super-Glue, supports live programming with responsive semantic feedback, which we demonstrate with a working prototype.

