PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:diy:andere:bob

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

software:diy:andere:bob [25/07/2011 13:07] – Version 1.1e ebertsoftware:diy:andere:bob [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 {{  :software:diy:andere:kiezsoftlogo.png?200|:kiezsoft.png}} {{  :software:diy:andere:kiezsoftlogo.png?200|:kiezsoft.png}}
 +
  
  
Zeile 14: Zeile 15:
 Ab der Version 1.1d gibt es außerdem die Möglichkeit, ein in Bytecode übersetztes BOB+-Programm mit der Laufzeitumgebung zu einer eigenständig ausführbaren (EXE-) Datei zu binden, was besonders dann interessant ist, wenn man das Programm an Nutzer weitergeben will, die keine BOB+-Umgebung eingerichtet haben.\\ Ab der Version 1.1d gibt es außerdem die Möglichkeit, ein in Bytecode übersetztes BOB+-Programm mit der Laufzeitumgebung zu einer eigenständig ausführbaren (EXE-) Datei zu binden, was besonders dann interessant ist, wenn man das Programm an Nutzer weitergeben will, die keine BOB+-Umgebung eingerichtet haben.\\
 Version 1.1e ist ein "kleines" Update, das die Implementierung tieferer Klassenhierarchien in BOB+ vereinfacht.\\ Version 1.1e ist ein "kleines" Update, das die Implementierung tieferer Klassenhierarchien in BOB+ vereinfacht.\\
 +**Achtung:** Für die Version 1.1e gibt es nochmals eine Bugfix-Release, die einen Fehler bei der Konvertierung von float-Werten in Zeichenketten behebt. Sie ersetzt ab sofort (25.12.2013) die bisherige Version. Weitere Änderungen gibt es nicht, daher auch keine Änderungen an der Dokumentation.
 \\ \\
 Bezugsquelle: http://www.kiezsoft.de/  Bezugsquelle: http://www.kiezsoft.de/ 
Zeile 28: Zeile 30:
 Im Downloadbereich von [[http://www.kiezsoft.de/|KiezSoft]] sind immer die neusten Versionen vom BOB+, samt Dokumentation und Quell-Codes erhältlich. Hier werden die Portfolio-relevanten Dateien der Version 1.1e aufgelistet.\\ Im Downloadbereich von [[http://www.kiezsoft.de/|KiezSoft]] sind immer die neusten Versionen vom BOB+, samt Dokumentation und Quell-Codes erhältlich. Hier werden die Portfolio-relevanten Dateien der Version 1.1e aufgelistet.\\
 Diese Version ist [[http://www.kiezsoft.de/download/bobplus/bob_plus_1_1e.zip|hier]] zum direkten Download verfügbar.\\ Diese Version ist [[http://www.kiezsoft.de/download/bobplus/bob_plus_1_1e.zip|hier]] zum direkten Download verfügbar.\\
 +
  
  
Zeile 41: Zeile 44:
 ==== Programme ==== ==== Programme ====
 ^Name ^Beschreibung ^Größe ^Datum^ ^Name ^Beschreibung ^Größe ^Datum^
-|BP.EXE |Source-Code Interpreter/Compiler |  49371 Bytes|  25.07.11+|BP.EXE |Source-Code Interpreter/Compiler |  49371 Bytes|  24.12.13
-|BPR.EXE  |Byte-Code Interpreter  |   40240 Bytes|   25.07.11+|BPR.EXE  |Byte-Code Interpreter  |   40240 Bytes|   24.12.13
-|BPI.EXE  |kleinere Nur-Integer-Version von BP.EXE  |   35497 Bytes|  25.07.11+|BPI.EXE  |kleinere Nur-Integer-Version von BP.EXE  |   35497 Bytes|  24.12.13
-|BPRI.EXE  |kleinere Nur-Integer-Version von BPR.EXE  |   26582 Bytes|   25.07.11+|BPRI.EXE  |kleinere Nur-Integer-Version von BPR.EXE  |   26582 Bytes|   24.12.13
-|BPC.EXE  |seperater Byte-Code Compiler  |   33077 Bytes|   25.07.11|+|BPC.EXE  |seperater Byte-Code Compiler  |   33077 Bytes|   24.12.13|
  
 BP.EXE und BPR.EXE sind die "eigentlichen" Programme, BP zum Ausführen und Kompilieren von Quelldateien (*.BP) und BPR zum Ausführen von kompiliertem Byte-Code. BPI und BPRI sind kleinere Varianten für Systeme mit wenig Ressourcen. Sie Verzichten auf die Unterstützung von Fließkomma-Zahlen und benötigen entsprechend weniger Speicherplatz.\\ BP.EXE und BPR.EXE sind die "eigentlichen" Programme, BP zum Ausführen und Kompilieren von Quelldateien (*.BP) und BPR zum Ausführen von kompiliertem Byte-Code. BPI und BPRI sind kleinere Varianten für Systeme mit wenig Ressourcen. Sie Verzichten auf die Unterstützung von Fließkomma-Zahlen und benötigen entsprechend weniger Speicherplatz.\\
Zeile 158: Zeile 161:
 BOB+ ist FREEWARE und wird als Open Source zur Verfügung gestellt.\\  BOB+ ist FREEWARE und wird als Open Source zur Verfügung gestellt.\\ 
 Die Software darf frei kopiert und weitergegeben sowie – direkt oder in modifizierter Form – in beliebigen kommerziellen oder nicht-kommerziellen Umgebungen eingesetzt werden, sofern die Urheberschaft an geeigneter Stelle erwähnt wird.  Die Software darf frei kopiert und weitergegeben sowie – direkt oder in modifizierter Form – in beliebigen kommerziellen oder nicht-kommerziellen Umgebungen eingesetzt werden, sofern die Urheberschaft an geeigneter Stelle erwähnt wird. 
 +
  
  
Zeile 193: Zeile 197:
  
 Version 1.1e behebt ein Problem beim Aufruf geerbter virtueller Methoden in tiefen  Version 1.1e behebt ein Problem beim Aufruf geerbter virtueller Methoden in tiefen 
-Klassenhierarchien (siehe Abschnitt 11.4).+Klassenhierarchien (siehe Abschnitt [[software:diy:andere:bob#virtuelle_methoden|11.4]]). 
 ===== 2. Vorwort zur Version 1.0 ===== ===== 2. Vorwort zur Version 1.0 =====
 Als ich im Jahr 2004 (nicht ohne einen leisen Anflug von Nostalgie) einen ATARI Portfolio Als ich im Jahr 2004 (nicht ohne einen leisen Anflug von Nostalgie) einen ATARI Portfolio
Zeile 1126: Zeile 1131:
 |  14  |  ''%%() [] x++ x-- ->%%''  | |  14  |  ''%%() [] x++ x-- ->%%''  |
 Tabelle 9 Operatorhierarchie in BOB+ Tabelle 9 Operatorhierarchie in BOB+
 +
 +
 +
 +
 +
 +
 +
  
  
Zeile 1134: Zeile 1146:
 Innerhalb eines Programms ist den Schlüsselwörtern eine feste (zentrale) Bedeutung zugeordnet. Deshalb können keine benutzerdefinierten Bezeichner definiert werden die den Schlüsselwörtern entsprechen. Innerhalb eines Programms ist den Schlüsselwörtern eine feste (zentrale) Bedeutung zugeordnet. Deshalb können keine benutzerdefinierten Bezeichner definiert werden die den Schlüsselwörtern entsprechen.
  
-Die Schlüsselwörter in BOB/BOB+ sind im wesentlichen eine Teilmenge der aus C/C++ bekannten. Nachfolgende Tabelle gibt eine Übersicht. Die darin mit (*) gekennzeichneten Schlüsselwörter sind nur in BOB+ definiert, die mit (<sup>a</sup>) gekennzeichneten wurden mit BOB+ 1.1a eingeführt.+Die Schlüsselwörter in BOB/BOB+ sind im wesentlichen eine Teilmenge der aus C/C++ bekannten. Nachfolgende Tabelle gibt eine Übersicht. Die darin mit (*) gekennzeichneten Schlüsselwörter sind nur in BOB+ definiert, die mit (a) gekennzeichneten wurden mit BOB+ 1.1a eingeführt.
  
 ^Schlüsselwort ^Kategorie ^Bedeutung^ ^Schlüsselwort ^Kategorie ^Bedeutung^
Zeile 1151: Zeile 1163:
 |  new  |  OOP  |  Erzeugen einer Objektinstanz  | |  new  |  OOP  |  Erzeugen einer Objektinstanz  |
 |  delete (*)  |  OOP  |  Zerstören einer Objektinstanz  | |  delete (*)  |  OOP  |  Zerstören einer Objektinstanz  |
-|  TRON (<sup>a</sup>)  |  Debugging  |  Trace-Modus einschalten +|  TRON (a)  |  Debugging  |  Trace-Modus einschalten 
-|  TROFF (<sup>a</sup>)  |  Debugging  |  Trace-Modus ausschalten +|  TROFF (a)  |  Debugging  |  Trace-Modus ausschalten 
-|  TRSTEP (<sup>a</sup>)  |  Debugging  |  Trace-Einzelschritt-Modus einschalten  |+|  TRSTEP (a)  |  Debugging  |  Trace-Einzelschritt-Modus einschalten  |
 Tabelle 10 Schlüsselwörter in BOB+\\ Tabelle 10 Schlüsselwörter in BOB+\\
  
Zeile 1728: Zeile 1740:
  
 </code> </code>
 +
 +
  
  
Zeile 1771: Zeile 1785:
  
    print(“MyDerivedClass::writeInfo() called\n“);    print(“MyDerivedClass::writeInfo() called\n“);
-   BC_writeInfo();    // call inherited writeInfo method+   this->BC_writeInfo();    // call inherited writeInfo method
 } }
  
Zeile 1784: Zeile 1798:
 </code> </code>
  
 +__Hinweise:__\\
 +Der Aufruf der geerbten Vorfahrmethode muss über den //this//-Zeiger erfolgen (siehe obiges Beispiel). Andernfalls würde der Compiler einen „gewöhnlichen“ Funktionsaufruf generieren.\\
 +Der Aufruf mit dem //BC_-//Präfix bezieht sich auf die Basisklasse derjenigen Klasse, von deren Typ das aktuelle Objekt (repräsentiert durch den //this//-Zeiger) ist. Dies kann bis zur Version 1.1d von BOB+ zu unerwünschten Rekursionen führen, falls das Konstrukt in einer mehrstufigen Klassenhierarchie benutzt wird.\\
 +Ab Version 1.1e erkennt der Bytecode-Interpreter solche Situationen, so dass dieses Problem nicht mehr auftritt. Darüber hinaus wurde zusätzlich das Präfix //**DC_**// (für //defining class//) eingeführt, welches erzwingt, dass die entsprechende Methode genau auf der Klasse aufgerufen wird, in der sie definiert wurde. Es wird analog zum //BC_-//Präfix gebraucht.
  
 ==== 11.5 Partielle Klassen ==== ==== 11.5 Partielle Klassen ====
software/diy/andere/bob.1311594555.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)