Vincent's Prolog Tree Drawing Program

http://www.nyu.edu/pages/linguistics/workbook/vincent

Prof. Ray C. Dougherty
New York University | Linguistics Department
GENERAL || RESEARCH || COURSES || WORKBOOK || FIRST DOT

If you have any comments about these pages, please let us know. Should we place more of these pages on line? Do you benefit from these pages? If you are a student at NYU, you may help in developing these pages, see the HTML Gesellschaft. Your ideas and comments will lead to modifications and improvements.

TREE DRAWING PRETTY PRINTERS:
COMPARISON || NYU VANILLA || LEHNER || KOSTKO || VINCENT


The Program Runs under DOS or Windows.

Jenner Vincent's tree drawing program works in on an IBM PC under Windows or DOS. It is in fact a DOS program that opens a window, and in the illustrations, it is run in a DOS window. It will run in DOS without Windows. It produces diagrams like the following.

Jenner Vincent's program differs from Oleg Kostko's in many ways.

Oleg Kostko and Jenner Vincent were students in V61.0024 and wrote these programs as term projects. At the time we were exploring the graphics possibilities of the IBM PC to function as a tool for linguistic teaching and research. Vincent's program is useful to give a quick overview of what the tree looks like while you are working. Kostko's program is for presenting results.

NOTE: The white lines runnning accross the figure are errors introduced into the figure by the mismatch between the DOS window, the screen capture program, and the graphics editors used. You will not see them on your screen. If you have time, please do use a favor and make nicer pictures and mail them to us. If you know of a good DOS screen capture program, let me know. Don't just tell me about it, send me samples, such as error free versions of the figures here.doughert@acf2.nyu.edu


The Input to the Program is a File of Labeled Bracketings.

Basically the program reads labeled bracketings in a file like the following. This is a file called input.

(s(np(det_the)(n_woman))(vp(v_sees)(pp(p_in)(np(det_the)(n_house)))))
(s(np(det_the)(n_time))(vp(v_elapsed)))
(s(np(det_the)(adv_very)(adj_nice)(n_girl))(vp(v_is)(pp(p_my)(n_friend))))
(s(np(det_the)(n_girl))(vp(v_depends)(pp(p_on)(np(det_the)(n_boy)))))
This is an example of an invalid structure.  Its is not in correct form.
(s(np(np(det_the)(adj_large)(n_man))(pp(p_on)(np(det_the)(n_moon))))(vp(v_wore)(np(det_a)(adj_grey)(n_suit))))
(s(np(det_the)(n_girl))(vp(v_forgot)(np(det_the)(n_boy))))
(s(np(n_girls))(vp(v_put)(np(n_books))(pp(p_in)(np(n_houses)))))
(s(np(det_the)(n_girl))(vp(v_gives)(np(det_the)(n_truck))(pp(p_to)(np(det_the)(n_boy)))))
(s(np(det_a)(n_girl))(vp(v_put)(np(det_a)(n_book))(pp(p_in)(np(det_a)(n_house)))))
(s(np(n_girls))(vp(v_put)(np(n_books))(pp(p_in)(np(n_classrooms)))))

The program reads in a file of labeled bracketings. Each labeled bracketing is one line. The labeled bracketings are separated by a carriage return. All programs for beginners on this site obey these constraints. On your web browser, the above examples undoubtedly run off the right hand side of the page. This is because they contain no carriage returns.


The Program Output is a Screen Graphic.

What you see is what you get. The trees cannot be printed or saved to a file. It is possible by using a screen capture program that works in DOS to obtain graphic images like you see here. This is the type of topic discussed at the HTML club.

The file vincent.zip contains all the C source code as well as the compiled version for those who want to fool with it.


This is Your Screen When Running the Program.

The program can be run in DOS without running windows. Vincent's program includes a sample data file called input.txt.



Some Problems