home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / DOS / Programa / CCDL122.ZIP / SOURCE / SYMCHAR.C < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-16  |  7.6 KB  |  415 lines

  1. /*
  2.  * 68K/386 32-bit C compiler.
  3.  *
  4.  * copyright (c) 1996, David Lindauer
  5.  * 
  6.  * This compiler is intended for educational use.  It may not be used
  7.  * for profit without the express written consent of the author.
  8.  *
  9.  * It may be freely redistributed, as long as this notice remains intact
  10.  * and sources are distributed along with any executables derived from them.
  11.  *
  12.  * The author is not responsible for damages, either direct or consequential,
  13.  * that may arise from use of this software.
  14.  *
  15.  * v1.5 August 1996
  16.  * David Lindauer, gclind01@starbase.spd.louisville.edu
  17.  *
  18.  * Credits to Mathew Brandt for original K&R C compiler
  19.  *
  20.  */
  21. #include <stdio.h>
  22. #include "utype.h"
  23. #include "interp.h"
  24.  
  25. BYTE startchars[256] ={
  26. /* Bank 0 */
  27.     0x00,0x00,0x00,0x00,
  28.     0x08,0x00,0x00,0x00,
  29.     0x7f,0xff,0xff,0xe1,
  30.     0x7f,0xff,0xff,0xe0,
  31.  
  32. /* Bank 1 */
  33.     0x00,0x00,0x00,0x00,
  34.     0x00,0x00,0x00,0x00,
  35.     0x00,0x7e,0x11,0x00,
  36.     0x00,0x00,0x00,0x00,
  37.  
  38. /* Bank 2 */
  39.     0x00,0x00,0x00,0x00,
  40.     0x00,0x00,0xff,0xff,
  41.     0xff,0xff,0xff,0xff,
  42.     0xff,0xff,0xff,0xff,
  43.  
  44. /* Bank 3 */
  45.     0x00,0x00,0x00,0x00,
  46.     0x00,0x00,0x00,0x00,
  47.     0xff,0xff,0xff,0xff,
  48.     0xff,0xfc,0x00,0x00,
  49.  
  50. /* Bank 4*/
  51.     0x00,0x00,0x00,0x00,
  52.     0x00,0x00,0x00,0x00,
  53.     0xff,0xff,0xff,0x00,
  54.     0xff,0xff,0xff,0x00,
  55.  
  56. /* Bank 5*/
  57.     0x00,0x00,0x00,0x00,
  58.     0x00,0x00,0x00,0x00,
  59.     0xff,0xff,0xf8,0x00,
  60.     0xff,0xff,0xff,0xf0,
  61.  
  62. /* Bank 6 */
  63.     0x00,0x00,0x00,0x00,
  64.     0x00,0x00,0x00,0x00,
  65.     0x00,0x00,0x00,0x00,
  66.     0x00,0x00,0x00,0x00,
  67.  
  68. /* Bank 7 */
  69.     0x00,0x00,0x00,0x00,
  70.     0x00,0x00,0x00,0x00,
  71.     0x00,0x00,0x00,0x00,
  72.     0x00,0x00,0x00,0x00,
  73.  
  74. /* Bank 8 */
  75.     0x00,0x00,0x00,0x00,
  76.     0x00,0x00,0x00,0x00,
  77.     0x00,0x00,0x00,0x00,
  78.     0x00,0x00,0x00,0x00,
  79.  
  80. /* Bank 9 */
  81.     0x00,0x00,0x00,0x00,
  82.     0x00,0x00,0x00,0x00,
  83.     0x00,0x00,0x00,0x00,
  84.     0x00,0x00,0x00,0x00,
  85.  
  86. /* Bank 10 */
  87.     0x00,0x00,0x00,0x00,
  88.     0x00,0x00,0x00,0x00,
  89.     0x00,0x00,0x00,0x00,
  90.     0x00,0x00,0x00,0x00,
  91.  
  92. /* Bank 11 */
  93.     0x00,0x00,0x00,0x00,
  94.     0x00,0x00,0x00,0x00,
  95.     0x00,0x00,0x00,0x00,
  96.     0x00,0x00,0x00,0x00,
  97.  
  98. /* Bank 12 */
  99.     0x00,0x00,0x00,0x00,
  100.     0x00,0x00,0x00,0x00,
  101.     0x00,0x00,0x00,0x00,
  102.     0x00,0x00,0x00,0x00,
  103.  
  104. /* Bank 13 */
  105.     0x00,0x00,0x00,0x00,
  106.     0x00,0x00,0x00,0x00,
  107.     0x00,0x00,0x00,0x00,
  108.     0x00,0x00,0x00,0x00,
  109.  
  110. /* Bank 14 */
  111.     0x00,0x00,0x00,0x00,
  112.     0x00,0x00,0x00,0x00,
  113.     0x00,0x00,0x00,0x00,
  114.     0x00,0x00,0x00,0x00,
  115.  
  116. /* Bank 15 */
  117.     0x00,0x00,0x00,0x00,
  118.     0x00,0x00,0x00,0x00,
  119.     0x00,0x00,0x00,0x00,
  120.     0x00,0x00,0x00,0x00
  121. };
  122.  
  123. BYTE symchars[256] ={
  124. /* Bank 0 */
  125.     0x00,0x00,0x00,0x00,
  126.     0x08,0x00,0xff,0xc0,
  127.     0x7f,0xff,0xff,0xe1,
  128.     0x7f,0xff,0xff,0xe0,
  129.  
  130. /* Bank 1 */
  131.     0x00,0x00,0x00,0x00,
  132.     0x00,0x00,0x00,0x00,
  133.     0x00,0x7e,0x11,0x00,
  134.     0x00,0x00,0x00,0x00,
  135.  
  136. /* Bank 2 */
  137.     0x00,0x00,0x00,0x00,
  138.     0x00,0x00,0xff,0xff,
  139.     0xff,0xff,0xff,0xff,
  140.     0xff,0xff,0xff,0xff,
  141.  
  142. /* Bank 3 */
  143.     0x00,0x00,0x00,0x00,
  144.     0x00,0x00,0x00,0x00,
  145.     0xff,0xff,0xff,0xff,
  146.     0xff,0xfc,0x00,0x00,
  147.  
  148. /* Bank 4*/
  149.     0x00,0x00,0x00,0x00,
  150.     0x00,0x00,0x00,0x00,
  151.     0xff,0xff,0xff,0x00,
  152.     0xff,0xff,0xff,0x00,
  153.  
  154. /* Bank 5*/
  155.     0x00,0x00,0x00,0x00,
  156.     0x00,0x00,0x00,0x00,
  157.     0xff,0xff,0xf8,0x00,
  158.     0xff,0xff,0xff,0xf0,
  159.  
  160. /* Bank 6 */
  161.     0x00,0x00,0x00,0x00,
  162.     0x00,0x00,0x00,0x00,
  163.     0x00,0x00,0x00,0x00,
  164.     0x00,0x00,0x00,0x00,
  165.  
  166. /* Bank 7 */
  167.     0x00,0x00,0x00,0x00,
  168.     0x00,0x00,0x00,0x00,
  169.     0x00,0x00,0x00,0x00,
  170.     0x00,0x00,0x00,0x00,
  171.  
  172. /* Bank 8 */
  173.     0x00,0x00,0x00,0x00,
  174.     0x00,0x00,0x00,0x00,
  175.     0x00,0x00,0x00,0x00,
  176.     0x00,0x00,0x00,0x00,
  177.  
  178. /* Bank 9 */
  179.     0x00,0x00,0x00,0x00,
  180.     0x00,0x00,0x00,0x00,
  181.     0x00,0x00,0x00,0x00,
  182.     0x00,0x00,0x00,0x00,
  183.  
  184. /* Bank 10 */
  185.     0x00,0x00,0x00,0x00,
  186.     0x00,0x00,0x00,0x00,
  187.     0x00,0x00,0x00,0x00,
  188.     0x00,0x00,0x00,0x00,
  189.  
  190. /* Bank 11 */
  191.     0x00,0x00,0x00,0x00,
  192.     0x00,0x00,0x00,0x00,
  193.     0x00,0x00,0x00,0x00,
  194.     0x00,0x00,0x00,0x00,
  195.  
  196. /* Bank 12 */
  197.     0x00,0x00,0x00,0x00,
  198.     0x00,0x00,0x00,0x00,
  199.     0x00,0x00,0x00,0x00,
  200.     0x00,0x00,0x00,0x00,
  201.  
  202. /* Bank 13 */
  203.     0x00,0x00,0x00,0x00,
  204.     0x00,0x00,0x00,0x00,
  205.     0x00,0x00,0x00,0x00,
  206.     0x00,0x00,0x00,0x00,
  207.  
  208. /* Bank 14 */
  209.     0x00,0x00,0x00,0x00,
  210.     0x00,0x00,0x00,0x00,
  211.     0x00,0x00,0x00,0x00,
  212.     0x00,0x00,0x00,0x00,
  213.  
  214. /* Bank 15 */
  215.     0x00,0x00,0x00,0x00,
  216.     0x00,0x00,0x00,0x00,
  217.     0x00,0x00,0x00,0x00,
  218.     0x00,0x00,0x00,0x00
  219. };
  220.  
  221. BYTE whitespacechars[256] ={
  222. /* Bank 0 */
  223.     0x00,0x68,0x00,0x00,
  224.     0x80,0x00,0x00,0x00,
  225.     0x00,0x00,0x00,0x00,
  226.     0x00,0x00,0x00,0x01,
  227.  
  228. /* Bank 1 */
  229.     0x00,0x00,0x00,0x00,
  230.     0x00,0x00,0x00,0x00,
  231.     0x00,0x00,0x00,0x00,
  232.     0x00,0x00,0x00,0x00,
  233.  
  234. /* Bank 2 */
  235.     0x00,0x00,0x00,0x00,
  236.     0x00,0x00,0x00,0x00,
  237.     0x00,0x00,0x00,0x00,
  238.     0x00,0x00,0x00,0x00,
  239.  
  240. /* Bank 3 */
  241.     0x00,0x00,0x00,0x00,
  242.     0x00,0x00,0x00,0x00,
  243.     0x00,0x00,0x00,0x00,
  244.     0x00,0x00,0x00,0x00,
  245.  
  246. /* Bank 4*/
  247.     0x00,0x00,0x00,0x00,
  248.     0x00,0x00,0x00,0x00,
  249.     0x00,0x00,0x00,0x00,
  250.     0x00,0x00,0x00,0x00,
  251.  
  252. /* Bank 5*/
  253.     0x00,0x00,0x00,0x00,
  254.     0x00,0x00,0x00,0x00,
  255.     0x00,0x00,0x00,0x00,
  256.     0x00,0x00,0x00,0x00,
  257.  
  258. /* Bank 6 */
  259.     0x00,0x00,0x00,0x00,
  260.     0x00,0x00,0x00,0x00,
  261.     0x00,0x00,0x00,0x00,
  262.     0x00,0x00,0x00,0x00,
  263.  
  264. /* Bank 7 */
  265.     0x00,0x00,0x00,0x00,
  266.     0x2a,0xa8,0xb1,0xd8,
  267.     0x80,0x76,0x3b,0x10,
  268.     0x08,0x04,0x02,0x01,
  269.  
  270. /* Bank 8 */
  271.     0x00,0x00,0x00,0x00,
  272.     0x00,0x00,0x00,0x00,
  273.     0x00,0x00,0x00,0x00,
  274.     0x00,0x00,0x00,0x00,
  275.  
  276. /* Bank 9 */
  277.     0x00,0x00,0x00,0x00,
  278.     0x00,0x00,0x00,0x00,
  279.     0x00,0x00,0x00,0x00,
  280.     0x00,0x00,0x00,0x00,
  281.  
  282. /* Bank 10 */
  283.     0x00,0x00,0x00,0x00,
  284.     0x00,0x00,0x00,0x00,
  285.     0x00,0x00,0x00,0x00,
  286.     0x00,0x00,0x00,0x00,
  287.  
  288. /* Bank 11 */
  289.     0x00,0x00,0x00,0x00,
  290.     0x00,0x00,0x00,0x00,
  291.     0x00,0x00,0x00,0x00,
  292.     0x00,0x00,0x00,0x00,
  293.  
  294. /* Bank 12 */
  295.     0x00,0x00,0x00,0x00,
  296.     0x00,0x00,0x00,0x00,
  297.     0x00,0x00,0x00,0x00,
  298.     0x00,0x00,0x00,0x00,
  299.  
  300. /* Bank 13 */
  301.     0x00,0x00,0x00,0x00,
  302.     0x00,0x00,0x00,0x00,
  303.     0x00,0x00,0x00,0x00,
  304.     0x00,0x00,0x00,0x00,
  305.  
  306. /* Bank 14 */
  307.     0x00,0x00,0x00,0x00,
  308.     0x00,0x00,0x00,0x00,
  309.     0x00,0x00,0x00,0x00,
  310.     0x00,0x00,0x00,0x00,
  311.  
  312. /* Bank 15 */
  313.     0x00,0x00,0x00,0x00,
  314.     0xff,0x00,0x00,0x00,
  315.     0x00,0x00,0x00,0x00,
  316.     0x00,0x00,0x00,0x00
  317. };
  318.     
  319. BYTE commentchars[256] ={
  320. /* Bank 0 */
  321.     0x00,0x00,0x00,0x00,
  322.     0x00,0x00,0x00,0x00,
  323.     0x00,0x00,0x00,0x00,
  324.     0x00,0x00,0x00,0x00,
  325.  
  326. /* Bank 1 */
  327.     0x00,0x00,0x00,0x00,
  328.     0x00,0x00,0x00,0x00,
  329.     0x00,0x00,0x00,0x00,
  330.     0x00,0x00,0x00,0x00,
  331.  
  332. /* Bank 2 */
  333.     0x00,0x00,0x00,0x00,
  334.     0x00,0x00,0x00,0x00,
  335.     0x00,0x00,0x00,0x00,
  336.     0x00,0x00,0x00,0x00,
  337.  
  338. /* Bank 3 */
  339.     0x00,0x00,0x00,0x00,
  340.     0x00,0x00,0x00,0x00,
  341.     0x00,0x00,0x00,0x00,
  342.     0x00,0x00,0x00,0x00,
  343.  
  344. /* Bank 4*/
  345.     0x00,0x00,0x00,0x00,
  346.     0x00,0x00,0x00,0x00,
  347.     0x00,0x00,0x00,0x00,
  348.     0x00,0x00,0x00,0x00,
  349.  
  350. /* Bank 5*/
  351.     0x00,0x00,0x00,0x00,
  352.     0x00,0x00,0x00,0x00,
  353.     0x00,0x00,0x00,0x00,
  354.     0x00,0x00,0x00,0x00,
  355.  
  356. /* Bank 6 */
  357.     0x00,0x00,0x00,0x00,
  358.     0x00,0x00,0x00,0x00,
  359.     0x00,0x00,0x00,0x00,
  360.     0x00,0x00,0x00,0x00,
  361.  
  362. /* Bank 7 */
  363.     0x00,0x00,0x00,0x00,
  364.     0xd5,0x54,0x4e,0x27,
  365.     0x7f,0x99,0xc4,0xef,
  366.     0xf7,0xfb,0xfd,0xfe,
  367.  
  368. /* Bank 8 */
  369.     0x00,0x00,0x00,0x00,
  370.     0x00,0x00,0x00,0x00,
  371.     0x00,0x00,0x00,0x00,
  372.     0x00,0x00,0x00,0x00,
  373.  
  374. /* Bank 9 */
  375.     0x00,0x00,0x00,0x00,
  376.     0x00,0x00,0x00,0x00,
  377.     0x00,0x00,0x00,0x00,
  378.     0x00,0x00,0x00,0x00,
  379.  
  380. /* Bank 10 */
  381.     0x00,0x00,0x00,0x00,
  382.     0x00,0x00,0x00,0x00,
  383.     0x00,0x00,0x00,0x00,
  384.     0x00,0x00,0x00,0x00,
  385.  
  386. /* Bank 11 */
  387.     0x00,0x00,0x00,0x00,
  388.     0x00,0x00,0x00,0x00,
  389.     0x00,0x00,0x00,0x00,
  390.     0x00,0x00,0x00,0x00,
  391.  
  392. /* Bank 12 */
  393.     0x00,0x00,0x00,0x00,
  394.     0x00,0x00,0x00,0x00,
  395.     0x00,0x00,0x00,0x00,
  396.     0x00,0x00,0x00,0x00,
  397.  
  398. /* Bank 13 */
  399.     0x00,0x00,0x00,0x00,
  400.     0x00,0x00,0x00,0x00,
  401.     0x00,0x00,0x00,0x00,
  402.     0x00,0x00,0x00,0x00,
  403.  
  404. /* Bank 14 */
  405.     0x00,0x00,0x00,0x00,
  406.     0x00,0x00,0x00,0x00,
  407.     0x00,0x00,0x00,0x00,
  408.     0x00,0x00,0x00,0x00,
  409.  
  410. /* Bank 15 */
  411.     0x00,0x00,0x00,0x00,
  412.     0x00,0xff,0x00,0x00,
  413.     0x00,0x00,0x00,0x00,
  414.     0x00,0x00,0x00,0x00
  415. };