C generation

C code can be generated in platform-independent K&R [15] or ANSI [1] form. This code uses macros for operations important in efficient arithmetic: double word multiply, division with remainder, multiply-add, etc. If the tex2html_wrap_inline302 compiler is used in conjunction with a C compiler which supports asm statements, these macros can be redefined to use single machine instructions. With appropriate declarations in the tex2html_wrap_inline302 program, the generated C code uses appropriate naming and linkage conventions to allow access to other libraries, for example, the X Window System.

A default run-time library is supplied for storage management, big integer arithmetic, and so on. The storage manager assumes that other storage managers may be operating simultaneously. It allows deallocation of store as well as garbage collection. The garbage collector assumes that pointers may be captured by other programs so it will not collect storage which is referenced by global data, foreign heaps, the stack or registers.

By replacing just one header file, the C code may use other packages for this support.



Stephen Watt
Wed Sep 18 19:39:57 MET DST 1996