1
0
Fork
You've already forked ncc
0
Charles Youse's C compiler
  • C 99.8%
  • Makefile 0.2%
2018年12月27日 09:19:09 -05:00
nas import 2018年12月26日 12:05:03 -05:00
ncc1 import 2018年12月26日 12:05:03 -05:00
ncpp separate all tokens with space. will prevent inadvertent token pasting 2018年12月26日 13:20:26 -05:00
a.out.h import 2018年12月26日 12:05:03 -05:00
BUGS add some documentation 2018年12月26日 15:29:17 -05:00
DIALECT fix the documentation. 2018年12月27日 09:19:09 -05:00
LICENSE import 2018年12月26日 12:05:03 -05:00
makefile import 2018年12月26日 12:05:03 -05:00
ncc.c import 2018年12月26日 12:05:03 -05:00
nld.c import 2018年12月26日 12:05:03 -05:00
nobj.c import 2018年12月26日 12:05:03 -05:00
obj.h import 2018年12月26日 12:05:03 -05:00
README fix the documentation. 2018年12月27日 09:19:09 -05:00

This is NCC, the "new" C compiler. It is intended to be used as the system
compiler for BSD/64 (my port of pre-Reno 4.3BSD to Intel/AMD 64-bit desktops).
The dialect of C accepted by the compiler is basically pre-ANSI (K&R 1978) 
with some common extensions and a few minor "fixes". (See the DIALECT file for 
specifics.) This is both a function of the compiler's purpose -- to operate on
a mid-80s codebase -- and, admittedly, personal taste. 
The binary tools work on a proprietary object file format and produce a.out-
format executables. These are documented in obj.h and a.out.h respectively.
The compiler and its tools are fully functional and have been fairly well-
tested, though they are works in progress. In particular, the optimizer is
quite minimal: the framework for a more aggressive optimizer is there, but
for the moment only rudimentary data-flow analysis is done to aid the register
allocator and clean up the more egregious output from the code generator.
NCC includes:
ncc: compiler driver.
ncpp: an ANSI C89 compliant C preprocessor.
ncc1: the C compiler proper, produces assembly output
nas: accepts 16/32/64-bit Intel syntax assembly and produces .o object.
nld: the object linker - combines .o files into a.out executables.
nobj: object/executable inspector. 
These are all original works and are BSD-licensed. See LICENSE and comments.
Charles Youse <charles@gnuless.org>
December 27, 2018