Fragen zu Forth

OP (Firma: Embedit Mikrocontrollertechnik) #1769207
Lesenswert?

Ich lese mich gerade in Forth ein, weil ich das irgendwie spannend 
finde. Ein paar Sachen hab ich noch nicht ganz verstanden

Was bedeutet es, wenn etwas in Klammern steht, z.B.
1
SWAP ( a b -- b a, exchanges top two values )

Ist das lediglich eine Art Kommentar? Ich habe nicht den Eindruck, als 
hätte das einen Einfluss auf das Programm.


amforth vs. avrforth: Beides sind Implementierungen, die aktuell 
entwickelt werden. amforth scheint vor allem auf kleinere AVR 
zugeschnitten zu sein und braucht kein externes RAM. avrforth läuft, 
soweit ich das bisher gesehen habe, nur auf dem ATmega64/128 oder CAN128 
und braucht anscheinend auch externes RAM.

Ist avrforth umfangreicher? Kann man die Wörter von avrforth auch für 
amforth nutzen?
OP (Firma: Embedit Mikrocontrollertechnik) #1769259
Lesenswert?

Ok, danke. Also was ich vermutet habe. Fand es nur befremdlich, dass 
diese Schreibweise in sämtlichen Dokumentationen einfach so auftaucht, 
ohne näher erläutert zu werden bzw der Hinweis gut versteckt war, dass ( 
) auch Kommentare sind. Gedit zeigt es leider nicht als Kommentar an.

Bei avrforth habe ich inzwischen gesehen, dass wohl auch kleinere AVR 
möglich sind, einschließlich Mega8. Bei avrforth scheinen mehr Module 
dabei zu sein, dafür ist die Dokumentation mehr oder weniger inexistent.

Welches der beiden sollte man sich denn näher anschauen?
Persönliche Seite #1769263
Lesenswert?

Es gab mal einen Homecomputer, der mit Forth programmiert wurde, der 
Jupiter ACE. Das Gerät hatte aus verschiedenen Gründen keinen 
erwähnenswerten wirtschaftlichen Erfolg, so hatte es nur 3 kiB RAM, von 
dem 956 Bytes für eigene Programme und Daten zur Verfügung standen ... 
OK, das war 1983.

http://www.jupiter-ace.co.uk/index.html

Hier http://home.micros.users.btopenworld.com/JupiterAce/JupiterAce.html 
findet man alles, was man zum Nachbau benötigt.
#1769269
Lesenswert?

Markus Burrer schrieb:

> Bei avrforth habe ich inzwischen gesehen, dass wohl auch kleinere AVR
> möglich sind, einschließlich Mega8.

Wundert mich nicht.
Der Forth Kern, der in Assembler geschrieben ist, ist ja extrem winzig. 
Alles andere darüber ist schon in Forth selber geschrieben. Und je 
nachdem, kann man natürlich auch viele Worte einfach weglassen, sofern 
nicht andere Worte darauf aufbauen.

> Welches der beiden sollte man sich denn näher anschauen?

Wenn du anfängst, würde ich das einfachste Forth nehmen, das ich kriegen 
kann.
Ich muss allerdings dazu sagen, dass ich mir Forth auch schon ein paar 
mal angesehen habe und dann doch immer wieder die Finger davon gelassen 
habe. Für mich ist diese konsequente Umsetzung der UPN eben nichts. Ich 
persönlich komm da immer durcheinander. Das mag daran liegen, dass ich 
einfach schon zu viel in der "konventionellen" Programmierung versumpft 
bin und meine Denkweise nicht mehr so einfach umstellen kann.


Letzten Endes ist es aber so, dass der Forth-Basiswortschatz überall 
gleich ist. Lediglich spezifische Erweiterungen unterscheiden das eine 
vom anderen Forth. (So war das auch vom Erfinder gedacht: Forth ist eine 
Sprache, mit der man sich seine 'Befehle' anwendungsspezifisch 
zusammensetzt)
OP (Firma: Embedit Mikrocontrollertechnik) #1769309
Lesenswert?

Karl heinz Buchegger schrieb:
> Wundert mich nicht.
> Der Forth Kern, der in Assembler geschrieben ist, ist ja extrem winzig.
> Alles andere darüber ist schon in Forth selber geschrieben. Und je
> nachdem, kann man natürlich auch viele Worte einfach weglassen, sofern
> nicht andere Worte darauf aufbauen.

Ich dachte eher an das RAM. Ich hab eine (ältere) Implementierung 
gesehen, für die man externes RAM benötigt hat

Karl heinz Buchegger schrieb:
> Wenn du anfängst, würde ich das einfachste Forth nehmen, das ich kriegen
> kann.

Einfach ist relativ. Beide genannten Implementierungen scheinen ähnlich 
zu sein. amforth ist besser dokumentiert, avrforth bringt mehr "Treiber" 
mit. Werde versuchen, mal beide zu testen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren