Skip to content

almeswe/nnc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

57eed55 · Jun 20, 2024
Jun 20, 2024
Jun 13, 2024
Jun 11, 2024
Jun 15, 2024
Aug 17, 2023
Aug 14, 2023
Aug 17, 2023
Jun 20, 2024
Jun 20, 2024
Jun 20, 2024
Jun 20, 2024
Jun 11, 2024

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