scispace - formally typeset
Search or ask a question

Showing papers on "Deterministic pushdown automaton published in 1972"


Journal ArticleDOI
TL;DR: It is shown that for strict deterministic languages, the quasi-real-time and real-time constraints are equivalent (except for Lambda) and an easy and elegant decision method is given for testing regularity.
Abstract: The family of strict deterministic languages has been studied for its theoretical properties and applications to parsing. In particular, these languages have been shown to be precisely the prefix-free deterministic languages. Deterministic pushdown automata are called (quasi-)real time if they have no (only a bounded number of consecutive) null moves. It is shown that for strict deterministic languages, the quasi-real-time and real-time constraints are equivalent (except for $\{ \Lambda \} $). A grammatical characterization of these languages is also given. For quasi-real-time strict deterministic languages, an easy and elegant decision method is given for testing regularity. For all known methods of accepting deterministic languages, it is shown that the families of real-time languages are a proper subset of the full families. A relation is established among these sets, the simple deterministic languages, and some hierarchies.

54 citations


Journal ArticleDOI
TL;DR: It is found that using one pds is computationally equivalent to allowing recursive functions, and the effect of adding the ability to do integer arithmetic, and multidimensional arrays is studied.
Abstract: We attempt to characterize classes of schemes allowing pushdown stores, building on an earlier work by Constable and Gries [1]. We study the effect (on the computational power) of allowing one, two, or more pushdown stores, both with and without the ability to detect when a pds is empty. A main result is that using one pds is computationally equivalent to allowing recursive functions.We also study the effect of adding the ability to do integer arithmetic, and multidimensional arrays.

34 citations


Proceedings Article
01 Jan 1972
TL;DR: A language is defined by giving a grammar and then base parsers (or compilers) on the corresponding machine, which are automata like Turing machines, but constrained in the same sense as the Chomsky hierarchy.
Abstract: Recall that to define a language we can either: 1. Give a set of rules (i.e. a grammar) to produce all the legal strings (sentences) of the language. 2. Provide a machine (i.e. an algorithm) to recognise all the sentences of the language. There is a close relationship between the two approaches. Commonly we define a language by giving a grammar and then base parsers (or compilers) on the corresponding machine. The machines are automata like Turing machines, but constrained in the same sense as the Chomsky hierarchy. Finite State Control input tape read head a0 a1 a2 ... Auxiliary Memory The input tape is a sequence of tokens. Each time a symbol is processed the read head advances. The auxiliary memory is usually a linear organisation (e.g. a stack). The memory alphabet is usually V t ∪V n. The finite state control can be in any one of a finite number of states. Each action of the machine may change the FSC state, change the auxiliary memory, advance to the next input symbol. The action of the machine depends on the current FSC state, the current input symbol, the current memory symbol(s). The machine starts in some particular start state (q 0), with the read head at the first input symbol (a 0), with the memory empty. A machine accepts an input string as a sentence of the language if it reaches a goal state with the input exhausted.

3 citations