STACK
Was ist ein Stapelspeicher?
Wie der Name es schon sagt werden alle Elemente auf einen Stapel gepackt.
Einige Nützliche Informationen gibts hier
Das ist doch unnötig
Nein für kleine Prototypen ist es ganz nützlich, da man die Variablen vorher nicht Deklarieren muss.
Zur einfachheit sind einige Funktionen hinzu gekommen womit sich der Stapel vereinfacht nutzten kann.
Wieso 3 Stack Typen
In der Grundidee wollte ich nur einen char Stack nutzten, aber mir viel auf das 3 Stapel mehr Platz bieten.
Stapel1 ist nur für Zeichen (In Zeile 2 zu verändern)
Stapel2 ist nur für Float (Gleitkommazahlen)
Stapel3 ist nur für Integer, wobei man die einzelnen Chars auch in Integer konvertieren könnte.
Nur 50 "Zellen" pro Stapel?
Um mehr Zellen zu erhalten einfach in Zeile 3 das Limit erhöhen.
WICHTIG
Die Include ist nicht PAWNO kompatible da PAWNO einige Compiler einstellungen vorsieht wie ";" was in Quincy ein White Element ist.
Um den Stack zunutzten bitte Quincy downloaden (http://www.compuphase.com/pawn/pawn.htm#DOWNLOAD_WIN)
Functionen
exa() Stack+1
pop() Stack-1
push(inhalt) Stack = inhalt
erj(a,b) Tauscht inhalt von a und b
conv(a,bool:b) convertiert a in FloatStack wenn b true ist ansonsten in den IntegerStack
stackP() gibt das Aktuelle Stack element aus
Alle Funktionen können auch vom FloatStack und IntegerStack genutzt werden.
Dafür einfach ein i vor den Funktionsnamen hängen für Integerstack oder f
Beispiel:
main() {
push "1"
stackP
conv 0
wnl
istackP
}breadfish.de/wcf/attachment/119/