Skip to content

A simple public-domain Forth implementation in C++

Notifications You must be signed in to change notification settings

rafalsk/cxxforth

 
 

Repository files navigation

Build Status

cxxforth: A Simple Forth Implementation in C++

by Kristopher Johnson

cxxforth is a simple implementation of a Forth system in C++.

The source code is written as a tutorial for implementing Forth, similar in spirit to JONESFORTH. A Markdown-format rendition of the source code is available in cxxforth.cpp.md.

cxxforth implements a subset of the words in the ANS Forth draft standard. Refer to that document for descriptions of those words. Additional non-ANS words are described in the cxxforth source code.

This is free and unencumbered software released into the public domain. See UNLICENSE.txt for details.


Building cxxforth

Building the cxxforth executable and other targets is easiest if you are on a UNIX-ish system that has make, cmake, and Clang or GCC. If you have those components, you can probably build cxxforth by just entering these commands:

cd wherever_your_files_are/cxxforth
make

If successful, the cxxforth executable will be built in the MyFiles/cxxforth/build/ subdirectory.

If you don't have one of those components, or if 'make' doesn't work, then it's not too hard to build it manually. You will need to create a file called cxxforthconfig.h, which can be empty, then you need to invoke your C++ compiler on the cxxforth.cpp source file, enabling whatever options might be needed for C++14 compatibility and to link with the necessary C++ and system libraries. For example, on a Linux system with gcc, you should be able to build it by entering these commands:

cd wherever_your_files_are/cxxforth
touch cxxforthconfig.h
g++ -std=c++14 -o cxxforth cxxforth.cpp

About

A simple public-domain Forth implementation in C++

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 91.9%
  • CMake 3.5%
  • Forth 3.2%
  • Makefile 1.1%
  • C 0.3%