

Please use the following format when turning in your projects:

    1.  Documentation (if separate from your code)
    2.  Code (should include at least a brief header of
	    documentation giving the name a short
	    description of the module)
    3.  Input data (if it's a tree, run "print_tree" on
	    it so your reader can see the structure)
    4.  Make/command file
    5.  Output data (if it's a tree, run "print_tree")

For project #4, the output you get from running Scan_Generate on
the AST produced by

    % parse $system_scanner $system_screener $scan_parser < input

will be a scan table.  You can then

    % parse {scan table} $system_screener $scan_parser < input

where {scan table} is the output produced by Scan_Generate.  This
new AST can then be used as input for Scan_Generate to produce
yet another scan table, which should be the same as the first
scan table produced.  To compare files on UNIX, you can use either

    % diff {file_#1} {file_#2}

or

    % cmp {file_#1} {file_#2}

If there is no difference between the two files, there will be no
output from either of the commands.

For output, you should show that you did the above and came up with
two scan tables that were identical.

				Your readers.




*********************************************************************
*********************************************************************

	            UPDATE TO THE ABOVE FORMAT

Please the above mentioned files in the following order:

   1.  Scan_Make

   2.  Scan_Gen

   Start your "script" file.

   3. The small scanner spec in the assignment book.
      USE PRINT_TREE on it !!

   4. The small table generated from running Scan_Gen on this tree.

   Parse the actual scan.spec, $all_scan_specification. 

   Now run Scan_Gen on this ast, to generate a big table.

   Now use the result of this, say big_table#1, to parse scan.spec again.

   Now use the result of this, say big_table#2, in the "diff" command.

   5. big_table#2
