The <italic>analytic grammar</italic> (a model which provides a rigorous description of syntactic analysis) is presented, and some of its fundamental properties are shown. Various submodels are discussed and equivalences among these are noted.
An analytic grammar incorporates a set <italic>P</italic> of syntactic productions, and also a <italic>scan</italic> @@@@. At each successive “rewriting” in the analysis of a string <italic>x</italic>, @@@@ computes a subset of productions applicable to <italic>x</italic> (i.e., which may be used to “rewrite” <italic>x</italic>) from the set of productions which are potentially applicable to <italic>x</italic>. Thus each scan determines a class of grammars.
It is shown that all <italic>analytic languages</italic> are recursive, and conversely, all recursive sets are analytic languages. All phrase structure grammars are analytic grammars. A simple sufficient condition is shown under which an analytic grammar provides unique analyses for all strings.
Particularly relevant to syntactic analysis of <italic>algorithmic languages</italic> (i.e., languages which are used to specify computing algorithms) are the “leftmost” scans, each of which chooses a certain “leftmost” production. Conditions which provide equivalences among these scans are noted.
[1]
Friedrich L. Bauer,et al.
Report on the algorithmic language ALGOL 60
,
1960,
Commun. ACM.
[2]
Edgar T. Irons,et al.
A syntax directed compiler for ALGOL 60
,
1961,
CACM.
[3]
Seymour Ginsburg,et al.
Two Families of Languages Related to ALGOL
,
1962,
JACM.
[4]
Alfonso Caracciolo Di Forino,et al.
Some remarks on the syntax of symbolic programming languages
,
1963,
CACM.
[5]
Noam Chomsky,et al.
On Certain Formal Properties of Grammars
,
1959,
Inf. Control..
[6]
E. Shamir,et al.
ON SEQUENTIAL LANGUAGES
,
1961
.
[7]
David G. Cantor,et al.
On The Ambiguity Problem of Backus Systems
,
1962,
JACM.