A portable and concise Forth implementation in modern C++
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Clyne 0ede616831
add j
2 years ago
.gitignore build as library; add small target 2 years ago
LICENSE initial commit 2 years ago
Makefile some cleanup 2 years ago
README.md do loops, executor fixes 2 years ago
alee.cpp move some corewords to core.fth; fix word reading 2 years ago
alee.hpp build as library; add small target 2 years ago
compat.txt add j 2 years ago
core.fth add j 2 years ago
corewords.cpp move some corewords to core.fth; fix word reading 2 years ago
corewords.hpp move some corewords to core.fth; fix word reading 2 years ago
dictionary.cpp move some corewords to core.fth; fix word reading 2 years ago
dictionary.hpp create, does>, variables 2 years ago
memdict.hpp some cleanup 2 years ago
parser.cpp move some corewords to core.fth; fix word reading 2 years ago
parser.hpp concise parser; >body, >in, source 2 years ago
state.cpp fix execution lookup; add unloop 2 years ago
state.hpp some cleanup 2 years ago
types.cpp some cleanup 2 years ago
types.hpp some cleanup 2 years ago

README.md

Alee Forth

Still very much in development! Not suitable for real applications yet.

Alee is a portable and concise Forth implementation in modern C++. Its primary aims are for reduced program size and execution efficiency. Portability includes bare-metal platforms, with intentions to support microcontrollers with kilobytes of memory.

Compatibility

A base dictionary is being built following the "core" glossary. Progress on implementation of these words is documented in compat.txt.

A sys is available which links to a C++ function for user-defined functionality.

Building

Alee requires make and a C++17-compatible compiler.

To compile, simply run the make command. This will produce a library, libalee.a, as well as a REPL binary named alee.
A small target exists that optimizes the build for size.