Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

moneytech/ncc

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 <charles@gnuless.org>
December 27, 2018

About

a 64-bit C compiler (and preprocessor, assembler, linker, etc.) for AMD64

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.