Skip to content

almeswe/nnc

Repository files navigation

Not Named Compiler

Compiler that generates bad but working x86_64 Intel assembly.
Does not uses any auto tools or ready-to-use virtual machines.
Done by hand.

Dependencies

This compiler only supported on Linux and requires
GNU Linker (ld) and GNU Assembler (as) to be present.
If you want to run auto tests, you'll also need python interpreter.

How to build

You can easily build this with CMake, see how:

git clone https://github.com/almeswe/nnc.git
mkdir nnc/src/build && cd nnc/src/build
as --64 ../nnc_rt.s -o rt.o
cmake .. && make -j

You can also select build version (Debug or Release) in CMakeLists.txt file.

SET(CMAKE_BUILD_TYPE ???)

If it is not specified, you'll build Release version.

Make sure it works

Current version of this project uses automated black-box tests located at ./py_test.
These tests ensure general correctness of the generation, and represent robust way to test compilers. (based on this).
You can run these tests using following command from .../nnc/py_test folder:

python nnc_gen_test.py tests

Don't waste your time on ./tests.

Play around

See working examples at ./examples.
I left build instructions inside each project's folder (or separate file).

Future goals

Are you interested in this project? See in what i'm currently dived in.

License

Project is published under MIT License.

About

not named x86_64 compiler.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published