This folder contains source code for all of the Onramp core components.
All core components are written in Onramp languages and are fully platform-independent. The build scripts are written in Onramp Shell so they can run inside an Onramp VM.
| Program | Description | Operation |
|---|---|---|
cc |
Driver | Performs any or all phases of translation |
cpp |
Preprocessor | Preprocesses .c to .i |
cci |
Compiler | Compiles .i to .os |
as |
Assembler | Assembles .os to .oo object file |
ar |
Archiver | Combines .oo object files into .oa library |
ld |
Linker | Links .oo and .oa into .oe executable |
libc |
Standard library | Provides C and POSIX library functions |
libo |
Onramp library | Provides library functions for Onramp components |
hex |
Hex Tool | Converts Onramp Hexadecimal .ohx to raw bytes |
sh |
Shell | Runs Onramp .sh scripts |
os |
Operating System | Implements a filesystem and syscalls |
The core sources are organized with the following folder structure:
core/<name>/<stage>/
-
<name>is the name of the component. It is also the base name of the resulting binary (executable or archive) when compiled. -
<stage>is the stage of the component. This is typically of the form#-<lang>, where#is the stage number and<lang>is the subset of the input language it supports. Some components have only a single stage, in which case the<stage>/folder is omitted.