ABSTRACT

We would like to create an information structure that is similar to a dictionary. A general characteristic of a dictionary is that in explaining one key-word, other key-words are used. Once this happens these other key-words need to be looked up as well. Our program should:

Allow the interactive construction and extension of a dictionary:

? NewWord

Word :car

Definition :vehicle with motor and seats

Word:

On request, the items contained in the dictionary should be printed out in one of several possible external representations. In doing so, this explanation should follow all references to other key-words until it reaches words that are atomic (i.e., the word is not further defined in the dictionary).

Here are three possible forms to be used for explanation:

Words in the explanation, which have dictionary entries of their own are marked with a preceding “⇒”, and the definition for these words appears below the current explanation.

? Explain "Toyota

Toyota: Japanese ⇒car manufacturer

car: vehicle with motor and seats

In the second form, the definition of a concept follows the word and is enclosed by parentheses; this process continues recursively:

? Print Explanation "Toyota

Toyota [Japanese car [vehicle with motor and seats] manufacturer]

The third form uses a tree-like indented structure: https://s3-euw1-ap-pe-df-pch-content-public-p.s3.eu-west-1.amazonaws.com/9780203761731/b3f12f26-b2ff-4fb6-b76d-26d2fe2780b6/content/fig21_212_01_B.tif" xmlns:xlink="https://www.w3.org/1999/xlink"/>