VHDL-1076.1 Parser/Pretty-Printer in SWI_Prolog


This directory contains the distribution for a VHDL-1076.1 parser and pretty-printer in SWI-Prolog. It evolved from the VHDL-87 Parser in Quintus Prolog written by Peter B. Reintjes.

This distribution includes a number of HTML files with embedded Prolog source code, a small filter program Make.java, a data directory with seven sample VHDL-87 files, and a test_data directory with six VHDL-93 files and six VHDL-AMS files (from the Validation Suite due to Tom Kazmierski from University of Southampton, U.K.). The VHDL formatter produces a readable text file from the parse tree representing a VHDL design. The current version of the system can be run in both UNIX environment and in Windows95/NT environment as long as SWI-Prolog and JDK 1.1 are available.

To generate and test the parser, set the environment variable PATH to enable access to executables such as javac, java, plwin, plcon, etc.

To compile and test the parser: % javac Make.java; java Make

To delete only generated prolog files: % java Make clean

To delete all generated files (incl. parser/classes): % java Make clean_all

To get all the options: % java Make help

To browse the parser design document: % netscape START.html

To extract the tutorial example: % java Make tutorial.html

This tutorial will take you step by step through the process of writing and executing simple queries about the VHDL designs read in by the parser.

To read an arbitrary VHDL file (e.g. mine.vhdl):

        UNIX % vhdl97_parser
       MS-DOS> plcon -x vhdl97_parser
        ?- vhdl_read(mine).
        ?- listing(design_unit).
           .
           .
           .

A preliminary version of the Design Browser with a Graphical User Interface written in Java (Gui.java) that uses a search engine written in Prolog (search_engine.pro) has been included in the distribution. A short description of its implementation and use by Tianrong Hu is in browser.doc (and browser.html).

To compile and run the Browser using JDK 1.1, type "javac Gui.java" followed by "java Gui" at the UNIX-shell prompt or the MS-DOS prompt. The system certainly runs slow on SPARC-20/64MB/Solaris2.6 system, but seems a little better on Pentium-166/32MB/Window95 system. The underlying Prolog is relatively fast in both the cases.


T. K. Prasad
tkprasad@cs.wright.edu

http://www.cs.wright.edu/people/faculty/tkprasad  


Last modified: Mon May 4 10:56:21 EDT 1998