Register usage is the only platform-specific requirement; otherwise, `foci` is written in 100% portable C. There is active support for x86\_64, ARM Cortex-M, and MSP430 architectures.
Register usage is the only platform-specific requirement; otherwise, `foci` is written in 100% portable C. There is active support for x86\_64, ARM Cortex-M, and MSP430 architectures.
`foci` compiles to a binary object that can easily be linked into another application. Code size is generally a few kilobytes, while RAM usage is primarily set by the size of `foci`'s two stacks and dictionary.
`foci` compiles to a binary object that can easily be linked into another application. Code size is less than 5 kB, while RAM usage is in the hundreds of bytes (primarily influenced by the configured stack and dictionary sizes).
## Available words
## Available words
@ -12,7 +12,7 @@ Register usage is the only platform-specific requirement; otherwise, `foci` is w
dup drop swap rot -rot over tuck @ ! c@ c! + +! - * / mod and or xor = < [ ] ,
dup drop swap rot -rot over tuck @ ! c@ c! + +! - * / mod and or xor = < [ ] ,
cell cell+ cells base here allot latest negate invert 1- 1+ aligned align : ;
cell cell+ cells base here allot latest negate invert 1- 1+ aligned align : ;
literal if then else ' ['] execute decimal hex . emit begin until again while
literal if then else ' ['] execute decimal hex . emit begin until again while