Skip to content

Commit

Permalink
Contents of tgz.
Browse files Browse the repository at this point in the history
  • Loading branch information
larsbrinkhoff committed May 18, 2015
0 parents commit 8ae6187
Show file tree
Hide file tree
Showing 580 changed files with 22,930 additions and 0 deletions.
10 changes: 10 additions & 0 deletions 44
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
44 is a small, rather loosely characterized version of forth. It has a number of standard words, such as @, !, emit, key, etc., but does not even come close to implementing the core wordset for an ANS-type forth. It includes a small extension to the language that the author considers nice, but it will doubtlessly annoy savants at large.

44 was written for emedded !PowerPC use. It can act as a monitor or be used to develop !ROMable applications.

* ftp://ftp.taygeta.com/pub/Forth/Compilers/native/misc/44.txt
* ftp://ftp.taygeta.com/pub/Forth/Compilers/native/misc/44.tar.gz

44 is a predecessor to !PPCForth: http://ppcforth.sourceforge.net/

ForthSystems
15 changes: 15 additions & 0 deletions 4IM
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
4IM is a public domain Forth system for PC and compatibles.

Feature list:

* Public domain,
* Full source available,
* Simple minded,
* Well-featured screen editor (also support text file sources)
* Written in C; portable, extendable, embeddable.
* GUI library bindings
* Sockets/networking

http://www.astrobe.byethost31.com

ForthSystems
7 changes: 7 additions & 0 deletions 4os
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
4os was a proprietary OS intended to run on a MISC-based set-top box. Developed by iTVC, it was claimed to be the first operating system written completely in Forth. A brief description follows:

[=A complete Internet system (OS, live Forth system, network stack, flash file system, GIF and JPEG decoder, fonts, network support applications, email and browser customer applications) requires less than 1/2 megabyte of program memory. With boot compression (comes standard, takes about 1 second) that system fits in a 128Kbyte ROM.]

Sadly money and other business aspects conspired and it never got released. A mirrored copy of the iTVC web pages related to 4os can be found at http://web.archive.org/web/19991022233047/www.itvc.com/Technology/4os.htm

ForthSystems
61 changes: 61 additions & 0 deletions 4tH
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
4tH is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler. 4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports about 95% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, enumerations, structures, suspended execution, recursion, include files, etc. It comes with an RPN calculator, preprocessor, line editor, compiler, decompiler, C-source generators, and a virtual machine.

Author:
J.L. Bezemer

Homepage:
http://www.xs4all.nl/~thebeez/4tH/

There is an extensive [http://www.xs4all.nl/~thebeez/4tH/4tHmanual.pdf 4tH manual], including a substantial tutorial.

A screenshot of the IDE under Linux, DOS and Windows:
http://www.xs4all.nl/~thebeez/4tH/small3OS.jpg

----

Probably the most interesting design decision in 4tH is that it is a separate compiler and bytecode interpreter. It compiles your source code to a bytecode image, and then interprets the image as a separate step. So basically 4tH is what you get if you remove the ability to extend the syntax of the language. It provides some limited preprocessor abilities, and the usual Forth defining words like CREATE and VARIABLE and so on, but no user words are actually executed while compiling. But any code which is not in a definition is strung together and run when you execute the image, so in many cases you don't miss the lack of the interpreter. The limitation is that things like the following aren't valid 4tH code:

: K ( n -- n' ) 1024 * ;
4 K array foo

: CONSTANT CREATE , DOES> @ ;

Note that there are preprocessor arithmetic words, so you can do this:

4 1024 [*] array foo

But I'm not sure there's any way to define a symbolic constant and use it at compile time.

At any rate, it's well worth a look. You may decide that you prefer the extra flexibility that Forth provides, but it's interesting to see how far you can get with a static language.

--JoshGrams

----

Yes, you can define a symbolic constant and use it at compile time. Simply because it compiles the constant as a literal. So this works:

1024 constant K
4 K [*] array foo

You can also translate the CONSTANT definition to 4tH. The only thing is that you have to write the compilation semantics in full:

CREATE foo 1024 ,
:THIS foo DOES> @C ;

This kind of "constant" will behave as expected, although you cannot use it like a native constant e.g. within a declaration. Newer versions of 4tH include a preprocessor which allows you to write code like this:

:macro constant @1@ , create #1# :this #1# does> cell- @c #;# ;
5 constant five
five . cr

And this:

:macro K 1024 [*] ;
4 K array foo

Which largely compensates for the lack of defining your own words.

--Hans Bezemer

----
ForthSystems
11 changes: 11 additions & 0 deletions 8052ANSForth
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
8052-ANS-Forth, an 16 bits ANSI standard implementation for the 8032 processor series, it's available at this moment for the 80(C)32/80(C)52, 80C320, 80C520, 80C552, 80C535 and also runs on the recent 87C251 family from Intel.
8052-ANS-Forth sits in an 32 kByte EPROM and needs a further 32 kByte RAM. the release of turnkey (self starting) programs is free of royalties. Turnkey programs may be in RAM using battery backup, or after relocating with the built in relocater, in may be burned in the unused gap of 8 kByte in EPROM.

http://www.forth.hccnet.nl/plaatjes/atsklein.gif

=== What does 8052-ANS-Forth contains? ===
Local variables, extended error recovery, 'TO' functions at all sorts af variable(s), 8052 assembler, powerfull support for built in registers, SFR, bit-SFR, bit-variables and all other hardware. Many library files, and a lot of tested example files. And last but not least a DOS and Windows SERVER with many utilities, for example an online help function.

[http://www.forth.hccnet.nl/pr-ats.html More information about 8052-ANS-Forth here]

ForthSystems
1 change: 1 addition & 0 deletions ANSForth
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
A ForthInterpreter which complies with [http://forth.sourceforge.net/wordset/forth-std/ DPANS94], at this time (2007) the current and most recent of the ForthStandards.
6 changes: 6 additions & 0 deletions ASau
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ASau., Russia.

http://wiki.forth.org.ru/ASau


LexForWordStat
9 changes: 9 additions & 0 deletions ATLAST
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
ATLAST is the /Autodesk Threaded Language Application System Toolkit/.

John Walker wrote ATLAST in an attempt to make software component technology and open architecture applications commonplace in the mainstream software market. It was based on the FORTH-83 standard and was written in C for maximum flexibility. ATLAST is good, if a little bloated. Generally it's speed is satisfactory and it is quite easy to embed into C applications. One especially nice aspect is the extensive documentation in RTF, PostScript, and TeX formats.

ATLAST has been released into the public domain and is written in C.

http://www.fourmilab.ch/atlast/

ForthSystems
1 change: 1 addition & 0 deletions ATMurray
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ATMurray is the author of MindForth artificial intelligence.
21 changes: 21 additions & 0 deletions ATSboard
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
ATS-board hardware features
* Processor 80c535
* Program memory 27c256 (EPROM 32K)
* Workspace 43c256 (RAM 32K)
* Clockspeed 12 MHz
* RS232 at 9600 Baud
* 8 databits, 1 stopbit, no parity
* A total of 7 ports (free ports 4,5)
* Number of timers/counters 3
* Power supply 9..12 Volt at 200 mA.
* Backup battery 2.4 .. 3.6 Volt Ni-Cad


Software
The ATS-board is supplied with an 8052-ANS-Forth in EPROM.


Manuals
Standard with the ATS-board an english language manual is supplied which also contains a crash course 8052-ANS-Forth and all system details.

http://www.forth.hccnet.nl/plaatjes/atsgroot.gif
1 change: 1 addition & 0 deletions ATmega32
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Enter your own page content here.
1 change: 1 addition & 0 deletions ATtiny85
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Enter your own page content here.
1 change: 1 addition & 0 deletions About
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This wiki supports the ForthCommunities by offering a platform for information, knowledge, and code exchange. Please feel free to share your knowledge by adding to the wiki. Thank you.
5 changes: 5 additions & 0 deletions Aha
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Jeff Fox's project for the F21 processor.

http://www.ultratechnology.com/ahasrc.htm

ForthSystems
5 changes: 5 additions & 0 deletions AlbertHorst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Albert Horst

[http://home.hccnet.nl/a.w.m.van.der.horst/ Homepage]

Also: AlbertvanderHorst
5 changes: 5 additions & 0 deletions AlbertLeeMitchell
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Proprietor of AM Research
* Author of amrFORTH, an umbilical Forth for embedded development
* Designer of Forth related hardware and Single Board Computers
* Member of the Forth Interest Group Board of Directors
* http://www.amresearch.com Embedded Systems Experts
6 changes: 6 additions & 0 deletions AlbertvanderHorst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
== Albert van der Horst ==


Author eg. of [ciforth], [lina]

Homepage: http://home.hccnet.nl/a.w.m.van.der.horst/
1 change: 1 addition & 0 deletions AllForthWords
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[http://www.forthfreak.net/dpans/dpansf.htm Alphabetical Index of Forth Words in DPANS94]
2 changes: 2 additions & 0 deletions AmericanUserGroups
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* [http://www.bcpl.net/~nbuck/fig.html Maryland Forth User Group]
* [http://www.forth.org/svfig/index.html Silicon Valley Forth Interest Group]
78 changes: 78 additions & 0 deletions AnagramFinder
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
anagram generator, using a DirectedAcyclicWordGraph -- IanOsgood

\ ============= anagram.f ================

\ uses: ?c>let let>c Let EOW EOB Ind dawg-root dawg@i
include dawg.fs

\ letters + let is the number of each letter in the anagram
\ letters is the total count of letters (and spaces)
create letters 27 cells allot

: more-left? letters @ ;
: remove-let ( let -- TF )
cells letters + dup @ dup if
1- swap ! -1 letters +! TRUE
else nip ( 0 ) then ;
: replace-let ( let -- )
cells letters + 1 swap +!
1 letters +! ;

\ optional: each space increases words allowed in the anagram
variable max-words

: init-phrase ( addr len -- )
letters 27 cells erase
0 max-words ! \ optional
bounds do
I c@ ?c>let ?dup if replace-let else 1 max-words +! then
loop ;

variable num-found

variable result-len
create result 80 chars allot

: result+c ( c -- )
result result-len @ + c! 1 result-len +! ;

: solve ( block -- )
cell-
begin cell+
dup @ Let remove-let if
dup @ Let let>c result+c
more-left? if
dup @ EOW if
max-words @ if -1 max-words +! \ optional
bl result+c
dawg-root recurse
-1 result-len +!
1 max-words +! then \ optional
then
dup @ Ind ?dup if
dawg@i recurse
then
else
dup @ EOW if
1 num-found +!
cr result result-len @ type
then
then
-1 result-len +!
dup @ Let replace-let
then
dup @ EOB
until drop ;

: anagrams" ( blah blah" -- )
[char] " parse init-phrase
0 result-len ! 0 num-found !
cr dawg-root solve
cr space num-found @ . ." anagrams found"
cr ;

\ The following generates 67770 anagrams in 65 seconds
\ using gforth 0.5.0 on a G4-500.
load-dawg dawg.out
anagrams" forth is great"
bye
5 changes: 5 additions & 0 deletions AndrejjCherezov
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Andrejj Cherezov, Russia. RuFIG

Also: AndreyCherezov (non-standard transcription, see RussianInLatinGOST)

Homepage: [http://www.forth.org.ru/~ac/ 1], [http://wiki.forth.org.ru/AndreyCherezov 2].
10 changes: 10 additions & 0 deletions AndrewSterian
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
=== Andrew Sterian ===
** Assistant Professor
** Padnos School of Engineering

* Email: steriana -at- claymore.engineer.gvsu.edu
* AOL/Jabber IM: SterianA
* Homepage: http://claymore.engineer.gvsu.edu/~steriana
* Projects:
** [PF11] for the 68HC11 microcontroller
** [PFAVR] for the Atmel AVR microcontroller
52 changes: 52 additions & 0 deletions AnsforthLocals
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
\ This implements a subset of the gforth locals syntax in pure ANS Forth
\ From compat.zip distributed with gforth, probably by Anton Ertl.
\ This file is in the public domain. NO WARRANTY.

\ This implementation technique has been described by John Hayes in
\ the SigForth Newsletter 4(2), Fall '92. He did not do the complete
\ job, but left some more mundane parts as an exercise to the reader.

\ I don't implement the "|" part, because 1) gforth does not implement
\ it and 2) it's unnecessary; just put a 0 before the "{" for every
\ additional local you want to declare.

\ The program uses the following words
\ from CORE :
\ : bl word count ; >in @ 2dup 0= IF 2drop [char] ELSE THEN drop
\ recurse swap ! immediate
\ from CORE-EXT :
\ parse true
\ from BLOCK-EXT :
\ \
\ from FILE :
\ ( S"
\ from LOCAL :
\ (local)
\ from STRING :
\ compare

: local ( "name" -- )
bl word count (local) ;

: {helper ( -- final-offset )
>in @
bl word count
2dup s" --" compare 0= if
2drop [char] } parse 2drop true
else
s" }" compare 0=
then
if
drop >in @
else
recurse
swap >in ! local
then ;

: { ( -- )
{helper >in ! 0 0 (local) ; immediate

\ : test-swap { a b -- b a } ." xxx"
\ b a ;

\ 1 2 test-swap . . .s cr
1 change: 1 addition & 0 deletions AntonErtl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Anton Ertl is one of the major developers of [GForth] and an all-around font of Forth wisdom and experience. A frequent contributor on CompLangForth.
6 changes: 6 additions & 0 deletions Apple2Forth
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
back to ForthSystems
* MadAppleForth
* PurpleForth
* [QForth]

check out MultiPlatformForth for more systems which run on Apple II
9 changes: 9 additions & 0 deletions Apple68kForth
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
back to ForthSystems
* [Mops] (also works on PowerPC)
* [MacForth] (also works on PowerPC)
* [F68KANS] (also works on Atari ST and other 68k based system
check out MultiPlatformForth for more systems which run on Apple 68k

Also,

Pocket Forth (http://chemlab.pc.maricopa.edu/pocket.html)
1 change: 1 addition & 0 deletions AsianUserGroups
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* [http://www.figtaiwan.org/ FIG Taiwan]
1 change: 1 addition & 0 deletions AssemblyLanguage
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[http://en.wikipedia.org/wiki/Assembly_language Article on wikipedia]
18 changes: 18 additions & 0 deletions Atari8BitForth
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
There are several FORTH Systems for ATARI b-Bit Computers around. Most of this FORTH are FigForth variants, but some are even supported and developed today.

Implementations for ATARI 8Bit Computer (6502 CPU):

* X-Forth -- still in development, will become ANSI compatible FORTH someday, file based (with DOS)
* FigForth 1.0d -- old FORTH Version, disk-block based (without DOS)
* FigForth 1.1 -- Enhanced FigForth, disk-block based (without DOS)
* Learn-Forth -- Subset of FigForth from HOFACKER (Order No.7053), disk-block based (without DOS) as well on cassette
* Power-Forth -- Extended FigForth from HOFACKER (Order No.7055), disk-block based (without DOS)
* Antic Forth 1.4s -- very powerfull ANTIC Forth, disk-block based (without DOS)
* QS-Forth 1.0 -- QS-Forth, disk-block based (without DOS)
* Mesa FORTH -- Mesa FORTH
* Graphic FORTH -- A ANTIC Forth 1.4s with special extensions, mostly in german language
* ES Forth -- English Software Company FORTH, file-based FORTH (with DOS)
* SNAUT -- A FORTH 83 comaptible Standard FORTH. The only trace of this FORTH is an advertising in a german magazin for now
* Yet another Target Compiler -- Target Compiler for creating MAC/65 Source from FORTH

See [http://atariwiki.strotmann.de/wiki/Wiki.jsp?page=Forth ABBUC Programmers Group FORTH Wiki-Page] for Downloads, Sourcecode and more Information about FORTH on Atari 8bit and other popular 8Bit Computer.
1 change: 1 addition & 0 deletions AustralianUserGroups
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Enter your own page content here.
3 changes: 3 additions & 0 deletions AutoGenerated
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Pages belonging to AutoGenerated are created automatically,
usually once per day. Editing these pages is useless, any
changes will be overwritten.
5 changes: 5 additions & 0 deletions Aztec
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
This forth system is intended to be a minimum system for using Forth on IBM compatible computers using the Microsoft 32bit operating system, it has not been tested under NT earlier than version 4.0. The code is targeted at Intel 386 or higher processors and so should run on any computer that has a Win32 OS; code has been written with an eye to Pentium pairing rules and is very tight for a non-optimised compiler.

http://www.tww.cx/azintro.php

ForthSystems
Loading

0 comments on commit 8ae6187

Please sign in to comment.