“ESP³: A High-Level Graphics Language” by Shapiro

  • ©Linda G. Shapiro



Session Title:

    Graphics Languages Session


    ESP³: A High-Level Graphics Language




    Most graphics languages are composed of a primitive set of commands which allow for the creation and manipulation of graphical objects. These commands are generally at a low level, in that each command causes one operation to be performed. Often the commands are to subroutines embedded in an algorithmic language so that the arithmetic and control features of the higher level language may be used.

    ESP³ (Extended SNOBOL Picture Pattern Processor) is a new high-level graphics and pattern recognition language. ESP³ was designed in an effort to provide simple, natural, and efficient manipulation of line drawings. ESP³ differs from present graphics languages in the following ways:

    1) It provides a high-level method for picture construction. The evaluation of a picture expression (analagous to the SNOBOL4 string-valued expression) causes the construction of a picture.
    2) It provides extensive referencing facilities for naming and accessing points, subpictures, and attributes of pictures.
    3) It provides predicates for testing attributes of and relationships among pictures and points.
    4) It provides a means for defining picture patterns that describe classes of line drawings in much the same way that SNOBOL4 patterns describe classes of strings. Picture pattern matching is a built-in facility.

    ESP³ is based on the premise that structural descriptions are an essential part of both picture construction and pattern recognition. The concept of a structural description of a picture has its origin with the linguistic-approach to pattern recognition. In the linguistic approach, formal grammars are used as a mechanism for picture description. [Kirsch (1964), Narasimhan (1964, 1966, 1970), Anderson (1968), Evans (1968), Miller and Shaw (1969), Fu and Swain (1971), Shaw (1970, 1972), Chien and Ribak (1972), Thomason and Gonzalez (1975)]. Stanton (1970) described a graphics language based on linguistic pattern recognition. ESP3 incorporates and extends many ideas from the above work, and includes all of the features of SNOBOL4 to provide a high-level graphics and pattern recognition language. Some suggested applications of ESP3 are the generation of graphical output, AI programs with imaging capabilities, pattern recognition systems, and scene analysis programs.

    This paper will describe picture construction and pattern recognition in ESP with emphasis on picture construction. Some tests performed with an experimental version of ESP³ will also be discussed. For a more detailed description of ESP³, see Shapiro (1974).


    1. Anderson, R. H., “Syntax-Directed Recognition of Hand-printed Two-Dimensional Mathematics”, in Interactive Systems for Experimental Applied Mathematics, M. Klerer and J. Reinfelds (Eds.), Academic Press, New York, 1968, 436-459.
    2. Chien, Y. T. and Ribak, R., “A New Data Base for Syntax-Directed Pattern Analysis and Recognition”, IEEE Transactions on Computers, C-21, 1972, 790-801.
    3. Dewar, R. B. K., SPITBOL Version 2.0, Illinois Institute of Technology, 1971.
    4. Evans, T. G., “A Grammar-Controlled Pattern Analyzer”, Proceedings of the IFIP Congress 68, A. J. H. Morell (Ed.), North Holland Publishing Co., Amsterdam, 1969.
    5. Fu, K. S. and Swain, P. H., “On Syntactic Pattern Recognition”, in Software Engineering 2, J. T. Tou (Ed.), Academic Press, New York, 1971, 155-182.
    6. Kirsch, R. A., “Computer Interpretation of English Text and Picture Patterns”, IEEE Transactions on Electronic Computers, EC-13, 1964, 363-376.
    7. Miller, W. F. and Shaw, A. C., “Linguistic Methods in Picture Processing – A Survey”, Proceedings AFIPS Fall Joint Computer Conference, 33, Thompson Book Co., Washington D.C., 1969, 279-290.
    8. Narasimhan, R., “Labelling Schemata and Syntactic Description of Pictures”, Information and Control, 7, 1964, 151-179.
    9. Narasimhan, R., “Syntax-Directed Interpretation of Classes of Pictures”, CACM, 9, 3, 1966, 166-173.
    10. Narasimhan, R., “Picture Languages”, in Picture Language Machines, S. Kaneff (Ed.), Academic Press, New York, 1970, 1-30.
    11. Shapiro, L. G., ESP3 : A Language for the Generation, Recognition, and Manipulation of Line Drawings, Technical Report 74-04, Department of Computer Science, University of Iowa, 1974.
    12. Shaw, A. C., “Parsing of Graph-Representable Pictures”, JACM, 17, 3, 1970, 453-481.
    13. Shaw, A. C., “Picture Graphs, Grammars, and Parsing”, in Frontiers of Pattern Recognition, S. Watanabe (Ed.), Academic Press, New York, 1972.
    14. Stanton, R. B., The Recovery of Descriptions in Graphical Communications, Doctoral Dissertation, Department of Electronic Computation, The University of New South Wales, Sydney, N.S.W., Australia, 1970.
    15. Thomason, M. G. and Gonzales, R. C., “Syntactic Recognition of Imperfectly Specified Patterns”, IEEE Transactions on Computers, C-24, 1975, 93-95.

ACM Digital Library Publication: