Porting Notes: The following items are known to be operating systems and compiler dependent and may need to be modified to work on your system. External file management: The file file_managerB.a contain the code to open the files for the main scanner, IO and DFA packages. You may need to modify this file to match the conventions for ada source file names on your system. Command Line Processing: The file command_lineB.a contains code which loads the argument vector ARGV and argument count argc with the appropriate information. ARGV should be set to the total number of arguments to the program plus one for the name of the program. ARGV(0) should contain the program name if available, if not it may contain any string. The elements ARGV(1..argc-1) should contain the arguments given to the program. If your systems does not allow differentiation of upper and lower case on the command line you may have to modify this module to use a different strategy. Error Output: Aflex uses the FILE_TYPE variable STANDARD_ERROR as the destination for all error output. This is a predefined file on the Verdix compiler. On other compilers this variable should be defined in the file_managerS.a file, and the procedure initialize_files package should be modified to create standard_error and point it at an appropriate place for error messages to go. This SHOULD NOT be the default output because aflex redirects this to the generated file. Thus all error messages will disappear into the generated Ada file. Templates: This version of aflex has the scanner skeleton and IO/DFA templates internalized. This eliminates the need to keep copies of files containing these in a know location. However this significantly increases the size of the executable. On a machine with no virtual memory and limited physical memory it may be desirable to use external templates. This can easily be done by deleting the internal templates and use the code from skeleton_manager that deals with external skeletons.