All Projects → gifnksm → gifcc

gifnksm / gifcc

Licence: MIT license
Tiny c compiler

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to gifcc

foolang
A toy programming language.
Stars: ✭ 33 (-35.29%)
Mutual labels:  self-hosted, toy-project
chatcola
chatcola.com messaging server - self-host your messages without multi-domain nightmare!
Stars: ✭ 25 (-50.98%)
Mutual labels:  self-hosted
SaorTech-cloud-services
A range of scripts to provision and configure open source cloud services.
Stars: ✭ 23 (-54.9%)
Mutual labels:  self-hosted
phpcollab
Project management and collaboration over the internet.
Stars: ✭ 42 (-17.65%)
Mutual labels:  self-hosted
uptime-kuma
A fancy self-hosted monitoring tool
Stars: ✭ 27,425 (+53674.51%)
Mutual labels:  self-hosted
dppm
An easy way to install and manage server applications
Stars: ✭ 107 (+109.8%)
Mutual labels:  self-hosted
onionjuggler
Manage your Onion Services via CLI or TUI on Unix-like operating system with a POSIX compliant shell.
Stars: ✭ 31 (-39.22%)
Mutual labels:  self-hosted
socks5-proxy-server
SOCKS5 proxy server
Stars: ✭ 47 (-7.84%)
Mutual labels:  self-hosted
Intranet-Home-Page
Intranet Home Page is a highly-configurable self-hosted browser homepage with integrations for public and local data feeds.
Stars: ✭ 56 (+9.8%)
Mutual labels:  self-hosted
openbsd-selfhosted
🐡 Shell script for self-hosting cloud, email, and git services
Stars: ✭ 41 (-19.61%)
Mutual labels:  self-hosted
exatorrent
Easy to Use Torrent Client. Can be hosted in Cloud. Files can be streamed in Browser/Media Player.
Stars: ✭ 1,557 (+2952.94%)
Mutual labels:  self-hosted
azcc
A toy C compiler, developed at seccamp2020.
Stars: ✭ 19 (-62.75%)
Mutual labels:  self-hosted
Bitwarden Self Host
Automatically setup and host a Vaultwarden (unoffical Bitwarden) instance on a Raspberry Pi or other Linux Server
Stars: ✭ 87 (+70.59%)
Mutual labels:  self-hosted
bin
highly opinionated, minimal pastebin
Stars: ✭ 97 (+90.2%)
Mutual labels:  self-hosted
2FAuth
A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes
Stars: ✭ 664 (+1201.96%)
Mutual labels:  self-hosted
trusted-cgi
Lightweight runner for lambda functions/apps in CGI like mode
Stars: ✭ 150 (+194.12%)
Mutual labels:  self-hosted
wombag
Wombag is the alternative, lightweight backend for your Wallabag apps. Wombag supports the Wallabag API.
Stars: ✭ 42 (-17.65%)
Mutual labels:  self-hosted
shorty
High-performance link shortener
Stars: ✭ 48 (-5.88%)
Mutual labels:  self-hosted
personal-crm
🗂 Minimalist personal CRM to keep in touch with contacts
Stars: ✭ 23 (-54.9%)
Mutual labels:  self-hosted
stashbox
Your personal Internet Archive
Stars: ✭ 42 (-17.65%)
Mutual labels:  self-hosted

gifcc CircleCI codecov

"gifcc" is a self-hosted C compiler written by gifnksm.

Features

  • emit x86_64 assembly (AT&T syntax or Intel syntax)
  • self-hosted
  • Many C11 features
  • Some GNU syntax extension

Compiler Stages

gifcc build process has 3 stages.

  • stage1: gifcc binary built with system's C compiler (gcc)
  • stage2: gifcc binary built with stage1 gifcc
  • stage3: gifcc binary built with stage2 gifcc

If gifcc compiles C source code correctly, stage2 binary and stage3 binary will be identical.

Requirements

  • C development tools (gcc, GNU Make, ...)
  • python3
  • TMSU (for running c-testsuite)

Operations

  • Build stage1, 2, 3 compiler

    $ make stage1
    ...
    $ make stage2
    ...
    $ make stage3
    ...
  • Run basic tests for each stages

    $ make stage1-test
    ...
    $ make stage2-test
    ...
    $ make stage3-test
    ...
  • Run all tests for each stages

    $ make stage1-test-full
    ...
    $ make stage2-test-full
    ...
    $ make stage3-test-full
    ...

Special Thanks

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].