In many cases a picture is described in terms of various plane objects and their shape. This paper describes a parser whose input is a piecewise linear encoding of a contour and whose output is a string of high-level descriptions: arcs, corners, protrusions, intrusions, etc. Such a representation can be used not only for description but also for recognition. Previous syntactic techniques for contour description have often used high-level languages for the description of contours. This has been necessary in order to guarantee contour closure and eliminate the noise. In the present approach the numerical preprocessing of the contour removes most of the noise and also produces the answers to certain simple questions about its shape. Therefore, simpler grammars can be used for the contour description. Examples of descriptions of contours are given for handwritten numerals, white blood cells, and printed wiring circuit boards.