Skip to content

nlsandler/nqcc

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
tst
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

NQCC - a not-quite-C compiler

This repo is no longer active. I'm working on a new version of NQCC - I'll link to it here once it's released!

A compiler for a tiny (but growing!) subset of C, written in OCaml.

Requirements

  • Install OCaml and OPAM
  • Configure OPAM
opam init
  • Install dependencies:
opam install oasis
opam install batteries
opam install ounit # only needed for tests

Usage

  • Build it
make
  • To run it, invoke the nqcc script in the project root
./nqcc /path/to/source.c

The compiled executable will be in the same directory as the source file, and have the same name (e.g. source in the example above).

Tests

ocaml setup.ml -configure --enable-tests # you only need to run this once
make test # run unit tests
./test_examples.sh # compile sample programs

You can also test against this test suite.

About

A compiler for a tiny (but growing!) subset of C, written in OCaml.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published