Neue Wörter in Gforth dauerhaft speichern

12 views
Skip to first unread message

Andreas H.

unread,
Jan 6, 2020, 2:43:44 PM1/6/20
to
Hallo, ich bin relativ neu zu Forth gekommen - vor etwa 35 Jahren hatte ich Forth schon einmal auf dem C64 ausprobiert, aber das zählt nicht.

Nun möchte ich aber gerne ernsthaft Forth lernen und habe mir dazu Gforth ausgeguckt.

Ich stehe allerdings vor einigen grundlegenden Problemen, die auch meine alten Bücher mir nicht wirklich beantworten (können).

Eine Frage ist etwa, wie ich von mir neu definierte Words dauerhaft speichern kann, sodass sie auch nach einem Neustart des Systems (ich benutze Linux als Host) noch da sind?

Wie erkenne ich, wenn ich mir fremden Quellcode ansehe, wie ein Programm zu starten ist?

Bitte versteht mich nicht falsch, die Fragen sind für euch hier sicher lächerlich, ich jedoch möchte erst einmal diese Dinge verstehen um dann weiter machen zu können.

Die Sprache und ihre Möglichkeiten fasziniert mich total. :-)

Gruß
Andreas

Anton Ertl

unread,
Jan 7, 2020, 4:30:41 AM1/7/20
to
"Andreas H." <lotusb...@googlemail.com> writes:
>Hallo, ich bin relativ neu zu Forth gekommen - vor etwa 35 Jahren hatte ich=
> Forth schon einmal auf dem C64 ausprobiert, aber das z=C3=A4hlt nicht.
>
>Nun m=C3=B6chte ich aber gerne ernsthaft Forth lernen und habe mir dazu Gfo=
>rth ausgeguckt.=20
>
>Ich stehe allerdings vor einigen grundlegenden Problemen, die auch meine al=
>ten B=C3=BCcher mir nicht wirklich beantworten (k=C3=B6nnen).=20
>
>Eine Frage ist etwa, wie ich von mir neu definierte Words dauerhaft speiche=
>rn kann, sodass sie auch nach einem Neustart des Systems (ich benutze Linux=
> als Host) noch da sind?

Mit einem aktuellen Snapshot ist es ganz einfach: Einfach die Woerter
in ~/.config/gforthrc oder ~/.config/gforthrc0 speichern (oder ein
include einer Datei, die die Woerter enthaelt), dann werden sie
automatisch beim Start von Gforth geladen.

Wenn die Woerter im Image gforth.fi landen sollen, dann kann man sie
im passenden siteinit.fs
(z.B. /usr/local/share/gforth/site-forth/siteinit.fs) eintragen, und
dann das Gforth-Image mit "make" neu machen. Eine weitere Variante
ist, selbst haendisch ein neues Image gforth.fi zu machen (siehe
<https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/gforthmi.html>),
und das gforth.fi z.B. im working directory abzulegen (Gforth sucht
dort zuerst, und wird dieses gforth.fi daher statt des installierten
gforth.fi verwenden).

>Wie erkenne ich, wenn ich mir fremden Quellcode ansehe, wie ein Programm zu=
> starten ist?

Das beschreibt normalerweise die Dokumentation. Wenn nicht, hat der
Autor des Programms wohl nicht so viel Ahnung davon, wie man ein
Programm fuer andere nutzbar macht, und Du kannst Du bei dem Programm
auf viel Arbeit einstellen.

Allgemein ist es in Forth oft (aber nicht immer) so, dass ein Programm
geladen wird, und dann die Forth-Kommandozeile das Interface zum
Programm ist. Man kann dann also verschiedene im Programm
implementierte und dokumentierte Woerter aufrufen, um das zu tun, was
man mit dem Programm tun will.

- anton
--
M. Anton Ertl Some things have to be seen to be believed
an...@mips.complang.tuwien.ac.at Most things have to be believed to be seen
http://www.complang.tuwien.ac.at/anton/home.html
Reply all
Reply to author
Forward
0 new messages