home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / fasbin21 / fas_src / devnote < prev    next >
Text File  |  1990-12-11  |  5KB  |  138 lines

  1.  
  2. 1.    Disclaimer
  3.  
  4.     This software is in the public domain.  
  5.     Any prior copyright claims are relinquished.  
  6.  
  7.     This software is distributed with no warranty whatever.  
  8.     The author takes no responsibility for the consequences 
  9.     of its use.
  10.  
  11. 2.    Size
  12.  
  13.     You can compile the assemblers small model (64k + 64k).
  14.     Getting them any smaller would be a real trick.
  15.  
  16. 3.    Compilation 
  17.  
  18.     The C source files that comprise a cross assembler are
  19.     in 3 categories.
  20.         
  21.         Common code (doesn't need recompiling between different
  22.         "flavors")
  23.             frasmain.c
  24.             fraosub.c
  25.             frapsub.c
  26.  
  27.         "Flavor" specific files (generated by Yacc, compiled
  28.         for every "flavor"))
  29.             as*.c
  30.             as*.h
  31.  
  32.         Common code that depends on the fraytok.h file (compiled
  33.         for every "flavor")
  34.             fryylex.c
  35.  
  36. 4.    Fraytok.h
  37.  
  38.     The yacc program defines some data structures and assigns values 
  39.     to various #define Macros used in the lexical analyzer.  
  40.     The lexical analyzer (fryylex.c) file refers to these in the 
  41.     fraytok.h include file.  The {assembler name}.h file generated 
  42.     by yacc (or renamed in the makefile) for the different .y files 
  43.     will be different.  If you compile manually, insure that the correct 
  44.     {assembler name}.h file is copied to fraytok.h.
  45.  
  46. 5.    Configuration Macros
  47.  
  48.     DOSTEMP
  49.  
  50.     If neither the current directory or /usr/tmp is an acceptable
  51.     directory for the temporary intermediate data file, change the 
  52.     initialization in frasmain.c.
  53.  
  54.     NOGETOPT
  55.  
  56.     If you use the NOGETOPT to use the provided function, remember
  57.     to change the MAINDEPENDS makefile macro.
  58.  
  59.     NOSTRING, USEINDEX
  60.  
  61.     The version 7 system I used to test these for version 1 got sold
  62.     for scrap.  Should still work ;-)
  63.  
  64. 6.    Dos
  65.  
  66.     If you don't have a MS-DOS (or whatever) Yacc equivalent, but do have 
  67.     access to a another computer with Yacc, you can run that step there 
  68.     and take the resulting .c and .h files to the (whatever) system.
  69.     (I have not inquired at AT&T as to the copyright status of the 
  70.     resulting code, although it is rumored that the output of Yacc
  71.     is public domain.  Do this at your own risk. [The Yacc program
  72.     itself is definitly NOT public domain]).
  73.  
  74.     The combination used (Turbo C and Bison) will report a half
  75.     a dozen (varies) shift-reduce conflicts from Bison, and 3 (usually) 
  76.     warnings from the C compiler for the parser.  No big deal.
  77.  
  78.     The Bison (the Free Software Foundation's Yacc clone) I used
  79.     was disk 285 from the C Users Group.  The version dated 
  80.     January 1989.  This is modified from the original, to
  81.     adapt it to MS-DOS compilers, conventions, and libraries.
  82.  
  83.     (The following paragraph was copied out of this release)
  84.  
  85.     The C Users' Group (CUG) collects, maintains and distributes
  86.     public domain C source code, publishes a magazine, The C Users' Journal
  87.     and serves as a resource for C users. Several vendors have named
  88.     CUG as the official users group for their implementation of C.
  89.     For membership and subscription information contact
  90.  
  91.     The C Users' Group
  92.     2601 Iowa
  93.     Lawrence, KS 66047
  94.     (913) 841-1631
  95.  
  96. 7.    Porting to non-ascii machines
  97.  
  98.     The fryylex.c file contains a translate table, chartrantab,
  99.     which classifies the input character set for the scanner's
  100.     state machine.  The reference to this table masks off the
  101.     input character with 0x7f limiting the table to 128 elements.  
  102.     So if you want a source file in EBCDIC or to have umlauts in 
  103.     your variable names, a new table, and a new mask are called for.
  104.  
  105.     Debug in the lexical analyzer is turned on with a nonzero
  106.     value in the DEBUG macro.
  107.  
  108.     Host machines that don't use two-complement negative numbers
  109.     will have to compensate in the fraosub.c outeval()
  110.     switch statement for cases IFC_EMU8, IFC_EMS7, IFC_EM16,
  111.     IFC_EMBR16.
  112.  
  113. 8.    History
  114.     
  115.     These used to be called the Framework cross assemblers, but
  116.     there's someone using the name for a database package or 
  117.     something like that.  Why Frankenstein?  Well, if you don't
  118.     like the way it acts, chop off it's head and sew a new one on.
  119.     (It was around Halloween).
  120.  
  121.     The .y files are generated from a more general machine
  122.     description by an automated script.  But this isn't
  123.     portable enough and is too disgusting to distribute.
  124.  
  125. 9.    Bug reports
  126.  
  127.     Report bugs to markz@ssc.uucp.  Especially screwups in the
  128.     instruction generation tables.
  129.  
  130.     There is no telephone that I can be reached at.
  131.     Please don't phone/fax Specialized Systems Consultants in
  132.     reference to this software.  What I do for a hobby, and 
  133.     what they do to make money are not connected.
  134.  
  135.     Mark Zenier
  136.  
  137.  
  138.