This directory contains the source code of my PhD research project, completed in 1997. The contents of this directory follow: jj_proj: -rw-r--r-- 1 jsjones users 123 Apr 1 15:43 mini.ax -rw-r--r-- 1 jsjones users 5773 Apr 1 15:43 mini.bnf -rw-r--r-- 1 jsjones users 215 Apr 1 15:43 mini.pgm -rw-r--r-- 1 jsjones users 18202 Apr 1 15:43 readme.doc drwxr-xr-x 2 jsjones users 1024 Apr 1 15:49 source jj_proj/source: -rw-r--r-- 1 jsjones users 24472 Apr 1 15:29 ExecutePkg.c -rw-r--r-- 1 jsjones users 638 Apr 1 15:29 ExecutePkg.h -rw-r--r-- 1 jsjones users 4221 Apr 1 15:29 GrammarDefs.h -rw-r--r-- 1 jsjones users 84444 Apr 1 15:29 GrammarPkg.c -rw-r--r-- 1 jsjones users 3481 Apr 1 15:29 GrammarPkg.h -rw-r--r-- 1 jsjones users 37563 Apr 1 15:29 MenuMAG.c -rw-r--r-- 1 jsjones users 3163 Apr 1 15:29 ParserDefs.h -rw-r--r-- 1 jsjones users 29512 Apr 1 15:29 ParserPkg.c -rw-r--r-- 1 jsjones users 1542 Apr 1 15:29 ParserPkg.h -rw-r--r-- 1 jsjones users 1352 Apr 1 15:29 ParserPkg2.h -rw-r--r-- 1 jsjones users 4728 Apr 1 15:29 SetPkg.c -rw-r--r-- 1 jsjones users 1417 Apr 1 15:29 SetPkg.h -rw-r--r-- 1 jsjones users 20131 Apr 1 15:29 SimpleCxtPkg.c -rw-r--r-- 1 jsjones users 1756 Apr 1 15:29 SimpleCxtPkg.h -rw-r--r-- 1 jsjones users 6913 Apr 1 15:29 basicDefs.h -rw-r--r-- 1 jsjones users 846 Apr 1 15:29 makefile -rw-r--r-- 1 jsjones users 1778 Apr 1 15:29 trace.h COMMENTS: 1. The makefile plus all .c and .h files are in subdirectory called source 2. Change directory to source and enter the Unix command, make, which uses "makefile". It causes the .o files to be generated in the source directory and creates an executable called MAGLAB in the parent directory, jj_proj. 3. readme.doc is referenced by MAGLAB for online help and it must be in the same directory as MAGLAB. It is not intended to be viewed (via. more, pg) but one can do so. 4. mini.* files are sample input to MAGLAB (used to demonstrate MAGLAB at conferences). 5. MAGLAB is an interactive menu-driven system (text-based for portability to numerous platforms) in which one can GET a BNF grammar (e.g., mini.bnf) file into memory, stratify it into a HIERARCHY of subgrammars, and then RUN a sample program (e.g., mini.pgm) to observe layer-by-layer parsing activity (i.e., incremental tokenization). 6. MAGLAB has other menu options for experimenting with the grammar and looking at information derived from it (first/follow context sets, itemsets, parse tables). The DELETE menu option merely removes the grammar (or grammar hierarchy) from memory so that another BNF file can be loaded (no file is deleted).