Scheme-and-GUI-BoxAndPointerDiagrams

Dongrui Zhang
December 10, 2008

Overview

The project I have achieved is a program which can generate the box and pointer diagrams repesenting the pair structure after just inputting the structure in PLT Scheme.

Screenshot

Concepts Demonstrated

  • A hierarchical data structure can be viewed as a tree.
  • Each object in hierarchical data structures has its own stable position

in the box and pointer diagrams.

  • Device context (DC) is an instance of the dc<%> interface.

interface.

External Technology

The external technology I used is a Scheme library -- GUI library. For different functions, the GUI toolbox is organized into three parts roughly. What I used are the parts of windowing toolbox and drawing toolbox, especially drawing toolbox. The windowing toolbox provides the basic building blocks of GUI programs, including frames, buttons, text fields, and so on. Drawing toolbox includes: pen% objects for drawing lines and shape outlines, brush% objects for filling shapes, bitmap% objects for storing bitmaps, and dc-path% objects for describing paths to draw and fill.

Innovation

Normally, the method we draw the box and pointer diagram representing the pair structure is according to how to draw a simple (cons 1 2) and a simple (list 1 2). However, after researching and testing, I found each oject in the printed form displayed (after pair stucture computed) has its own stationary position so that I made PLT Scheme automatically draw the box and pointer diagrams through searching each oject in the printed form which is got by its procedure.

Technology Used Block Diagram

Additional Remarks

Please note that the entire writeup, including screen shot and block diagram, should be no longer than 3 pages in length.