Robert W. Floyd
An algorithm defining ALGOL assignment statements
It is not possible, by testing symbol pairs only [2], to determine whether a given symbol string is consistent with the formation rules of ALGOL [1]. For example, the formula l1: l2: x[i := 5j + 3.14.159; violates four distinct formation rules of ALGOL, yet each pair of adjacent characters may appear in permissible formulae. The algorithm described here will determine, with minor restrictions, whether a particular symbol string is a permissible ALGOL assignment statement. I believe that the same technique may be extended to determine whether a given symbol string is a permissible ALGOL program or not, where a program is defined as a sequence of permissible statements separated by semicolons. The algorithm scans the formula from left to right, replacing certain character pairs by single characters. If under the allowable transformations the symbol string may be reduced to the single character &Sgr;, it is a well-formed formula in ALGOL; otherwise it violates the formation rules.
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get Involved