Giter Site home page Giter Site logo

cwz0522 / ciforth Goto Github PK

View Code? Open in Web Editor NEW

This project forked from albertvanderhorst/ciforth

1.0 1.0 0.0 19.45 MB

A generic system for creating i86 implementations of the language Forth.

Home Page: https://forth.hcc.nl/w/Ciforth/Ciforth?setlang=en

License: GNU General Public License v2.0

Makefile 5.51% M4 11.59% Forth 58.73% C 2.17% Assembly 12.86% Shell 1.67% Batchfile 0.25% Roff 1.19% HTML 6.00%

ciforth's Introduction

 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 described 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.

ciforth's People

Contributors

albertvanderhorst avatar

Stargazers

Starring Forth avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.