with one aspect of
    the language: basic symbols, programs, declarations, statements,
    and expressions.  Basic symbols are the indivisible atoms of the
    language, and their meanings are defined by relating them to our
    shared experience with programming languages.  All other
    constructs are composite---each is formed by combining parts.
    Their meanings can thus be defined in terms of the meanings of
    their components and fundamental concepts such as ``sequence of
    execution.''

    <h