Array Grammars

This tutorial briefly introduces array grammars, in which rewriting rules involve replacement of subarrays by subarrays. Strings can be regarded as one-dimensional arrays; but as we shall see, in higher dimensions special problems arise. In this tutorial we consider only the twodimensional case, but the extension to arbitrary dimensions is straightforward. A more detailed review of array grammars of various types, as well as the corresponding types of array acceptors, can be found in [1]. Array grammars (like string grammars) can be regarded as a class of graph grammars, but it seems more natural to regard them as rewriting systems of a special type.