A generic system for creating i86 implementations of the language Forth.
License
albertvanderhorst/ciforth
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Copyright (2017): Albert van der Horst (HCC FORTH The Netherlands) by GNU Public License. CIFORTH ``ciforth'' is a factory for making implementations of Forth. Forth is a standardized (ANS 94) computer language which is primarily interactive, but has facilities for scripting and stand alone executables. The name ciforth derives from computer intelligence Forth, because the original goal was to make a stand alone artificial intelligence machine. Now you may think of it as common Intel Forth. As long as your target is i86 based, you can pick your target to be: -16 32 or 64 bit -interfacing through BIOS, MSDOS INT 21, MSDOS DPMI, WIN32 dll, unix systemcalls (OSX, and LINUX) or dynamic (.so) libraries -can be assembled using masm, nasm, gas or fasm. Few people want to use such a complicated system, but they still want strict control over their Forth. The solution is a two tier system. What ciforth will do for you is generate three files: - an assembler file - a source library - a generic documentation file Of course not all combinations have been tried out, let alone tested. Released versions have a regression test and have been through a (sometimes considerable) burn in period. They contain not much more than the above three files. By modifying the assembler file you have in principle unlimited control over your Forth In practice few are capable of doing extensive modifications, but simple modifications are easy. There is no separate documentation about how to build from assembler. The one or two line instructions are contained in the source file. The source library is Forth source. It is a text file divided in blocks of 16 lines of 63 chars each. A simple text editor and care will allow modifications. The generic documentation is texinfo. This can be morphed into PostScript, Pdf and info. Part of it is separately available as html. Texinfo is text, and can be modified by hand too. Releases are available for the three main OS'es: Linux, including Android, MSWindows and OSX. A file like READMElina.txt is associated with a release. All tags starting with "REL" mark a release. The most important of those are in the directory release. A report of tests is in testreport.txt. There is no end to the auxiliary tools that are needed to build all versions and all other paraphernalia. *cifgen.ps describe the generic system.* howto.txt is a cookbook about things you may want to do. A detailed history of ciforth since 2000 is contained in logforth.txt. You may want to read the other README's. Note Regarding directories: release constains supersecure old version with digital signatures optimiser contains an experimental optimiser, work in progress. moth-balled old sources testcmp contains expected test results
About
A generic system for creating i86 implementations of the language Forth.
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published