forked from moneytech/ncc
-
Notifications
You must be signed in to change notification settings - Fork 0
a 64-bit C compiler (and preprocessor, assembler, linker, etc.) for AMD64
License
turkishrational/ncc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 <[email protected]> December 27, 2018
About
a 64-bit C compiler (and preprocessor, assembler, linker, etc.) for AMD64
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 89.0%
- Assembly 9.2%
- C++ 1.5%
- Other 0.3%