... a bootstrapping path to a C compiler capable of
Compiling GCC, with only the explicit requirement of a single 1 KByte binary or less.

Jeremiah Orians f32aefd0e3 Fixed ranges and EOF behavior 6 gadi atpakaļ
High_level_prototypes f32aefd0e3 Fixed ranges and EOF behavior 6 gadi atpakaļ
Library function prototypes 87477db7eb Added requested Copyright notices 7 gadi atpakaļ
Linux Bootstrap 7a6aeb42bc Fixed regression in hex.c 7 gadi atpakaļ
public 87477db7eb Added requested Copyright notices 7 gadi atpakaļ
stage0 f513b3f6ac Release 0.1.0 6 gadi atpakaļ
stage1 f513b3f6ac Release 0.1.0 6 gadi atpakaļ
stage2 3309e6325e Correcting the behavior of R@ 7 gadi atpakaļ
stage3 c06faa77e0 Release 0.0.9 7 gadi atpakaļ
test f513b3f6ac Release 0.1.0 6 gadi atpakaļ
x86 009b02ade7 Moved the x86 notes into the x86 folder 7 gadi atpakaļ
.gitignore b3eedb60de Refining FORTH to enable more productive development 7 gadi atpakaļ
CHANGELOG.org b43821afd4 Preparing for next release cycle 6 gadi atpakaļ
HACKING 5da990898d Added organizational hacking guide 7 gadi atpakaļ
ISA_HEX_Map.org f513b3f6ac Release 0.1.0 6 gadi atpakaļ
Knight.py fa9cfb940e Allow removal of watchpoints 7 gadi atpakaļ
LICENSE 4c307c763c Incorporated official GPL license 7 gadi atpakaļ
README 9c9b810c89 Improving documentation 7 gadi atpakaļ
User_Interface.py c4cd93bc24 web IDE behavior enhancement 7 gadi atpakaļ
Web Interface prototype Generator.py 87477db7eb Added requested Copyright notices 7 gadi atpakaļ
bootstrapping Steps.org 56bf53390c Updated boostrapping steps to match current pieces 6 gadi atpakaļ
dynamic_execution_trace.c 87477db7eb Added requested Copyright notices 7 gadi atpakaļ
makefile f513b3f6ac Release 0.1.0 6 gadi atpakaļ
tty.c 87477db7eb Added requested Copyright notices 7 gadi atpakaļ
vm.c d3bed26e0a Correcting error in string output and avoiding segment faults in vm 7 gadi atpakaļ
vm.h 0e23b418ae Continue expanding vm flexiblity in regards to various future enhancements 7 gadi atpakaļ
vm_decode.c f513b3f6ac Release 0.1.0 6 gadi atpakaļ
vm_instructions.c f513b3f6ac Release 0.1.0 6 gadi atpakaļ
vm_minimal.c c369c9c492 Improved vm scriptability and broke out a minimal vm definition for people wishing to keep implementation trivial 7 gadi atpakaļ
wrapper.c c4cd93bc24 web IDE behavior enhancement 7 gadi atpakaļ

README

## Copyright (C) 2016 Jeremiah Orians
## This file is part of stage0.
##
## stage0 is free software: you an redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## stage0 is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with stage0. If not, see .

The master repository for this work is located at:
https://savannah.nongnu.org/projects/stage0/

This is a set of manually created hex programs in a Cthulhu Path to madness fashion.
Which only have the goal of creating a bootstrapping path to a C compiler capable of
Compiling GCC, with only the explicit requirement of a single 1 KByte binary or less.

Additionally, all code must be able to be understood by 70% of the population of programmers.
If the code can not be understood by that volume, it needs to be altered until it satifies the above requirement.

This repo contains a few of my false start pieces that may be of interest to people who
want to independently create the root binary, I welcome all bug fixes and code that aids
in the above stated goal.

I'll be adding more code and documentation as I build pieces.
ALL code in this REPO is under the GPLv3 or Later.

In order to build stage0 and all the pieces, one only needs to run make all.
Each individual piece can be built by simply running make $piece with $piece being replaced by the actual part you want to make.

The only pieces that have any external dependencies are the Web IDE (Python3+CherryPy), libvm (GCC) and vm (GCC+GNU getopt)