KiezSoft Download-Bereich
B++ - Programmiersprache für Scripting und Prototyping
Version 1.6 (23.11.2024) neu
- B++ für MS-DOS bp2dos.zip (ca. 1.7 MB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- XML-Bibliothek
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 71 MB)
- B++-Dokumentation
Hinweise zur Version 1.6
Die Version 1.6 bringt folgende Neuerungen mit:
- Unterstützung asymmetrischer Coroutinen (Schlüsselwort yield)
- zusätzliche Funktion kbhit zur Prüfung, ob eine Taste gedrückt ist
Die Coroutinen-Unterstützung hat einen neuen Opcode und eine geänderte Struktur der internen Funktionsdarstellung zur Folge. Daraus ergibt sich eine Inkompatibilität des serialisierten
Bytecodes zur Vorgängerversion - alle Module müssen daher neu übersetzt
werden.
Hinzu kommen folgende 'kleine' Änderungen und Bugfixes:
- Die allgemeinen Containerfunktionen clear und find sind auch auf den Typ string anwendbar.
- Die Funktion getclass wirft keine Ausnahme, wenn eine per Name angegebene Klasse nicht gefunden wurde. Stattdessen ist das Ergebnis null.
- Bugfix in den Funktionen move und rfind (Indexprüfung berichtigt)
- Bugfix in der Funktion insert für buffer und charbuffer (Korrektur der Größenbestimmung)
- Bugfix in der Funktion newstring(const string fmt,...): Der Typ uintptr wird korrekt behandelt.
Zur Erleichterung der Installation enthält die Distribution Scripts zum Setzen der Umgebungsvariablen für B++.
Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
Die Windows-Versionen hängen von der VC-Runtime sowie von DotNet-Framework 4.5.2 ab (IDE). Ggf ist hierfür eine separate Installation notwendig.
Version 1.5 (03.05.2024)
- B++ für MS-DOS bp2dos.zip (ca. 1.5 MB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- XML-Bibliothek
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 76 MB)
- B++-Dokumentation
Hinweise zur Version 1.5
Die Version 1.5 bringt folgende größere Neuerungen mit:
- Echte Zeichentypen (char, uchar wchar_t, char8_t, char16_t, char32_t) und Konvertierungen zwischen verschiedenen Zeichensätzen (Codepages)
- Datentyp uintptr
- Die Modifizierer signed und unsigned können analog zu C/C++ mit integralen Datentypen verwendet werden.
- Die Emulation von C-Strukturen unterstützt Packing, Unions, dynamische Strukturen und anonyme Strukturen.
- "Lokale Klassen" - Es können Klassen lokal innerhalb anderer Klassen definiert werden.
- Namensräume (namespace)
- Definition funktionsartiger Makros mit #define analog zum C/C++-Präprozessor
- Schlüsselwort const - Unterstützung von Konstanten, konstanten Funktionsargumenten, konstanten Rückgabewerten und konstanten Elementfunktionen
- Schlüsselwort mutable, analog zu C++ für durch konstante Elementfungtionen änderbare Elementvariablen
- Unterstützung von C-Callbacks (in der MS-DOS-Version standardmäßig deaktiviert)
- GDI-Bibliothek für die Windows-Versionen
- Bibliothek zur JSON-Unterstützung
- Makrobibliothek zur Unterstützung des 'Boxings' von Werttypen zur Emulation von Referenzparametern von Funktionen
Als
Konsequenz ergibt sich eine Inkompatibilität des serialisierten
Bytecodes zur Vorgängerversion - alle Module müssen daher neu übersetzt
werden.
Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:
- vordefinierte Literale CHARSIZE (interne Zeichengröße) und WCHARSIZE (Typgröße von wchar_t)
- Konvertierungsfunktionen (cast) für die neuen Datentypen
- Verarbeitungsanweisungen #error und #warning sowie #pragma (zur Steuerung des Compilers)
- neue RTTI-Funktionen isconst und mkconst im Zusammenhang mit der Einführung von Konstanten
- Die bisherigen vordefinierten Variablen __OSTYPE__, __UNICODE__ und __PTRSIZE__ sind jetzt Konstanten.
- erweiterte und kommentierte Beispiele
Zur Erleichterung der Installation enthält die Distribution Scripts zum Setzen der Umgebungsvariablen für B++.
Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
Die Windows-Versionen hängen von der VC-Runtime sowie von DotNet-Framework 4.5.2 ab (IDE). Ggf ist hierfür eine separate Installation notwendig.
Version 1.4 (28.12.2022)
- B++ für MS-DOS bp2dos.zip (ca. 1.2 MB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- XML-Bibliothek
- B++ für Windows (bis XP), einschließlich Dokumentation und IDE
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 70 MB)
- B++-Dokumentation
Hinweise zur Version 1.4
Wichtigste Neuerungen in Version 1.4 sind die Einführung eines echten bool-Typs und vorzeichenlose Längenangaben (Typ uint) in Containern.
Als Konsequenz daraus ergibt sich eine Inkompatibilität des serialisierten Bytecodes zur Vorgängerversion - alle Module müssen daher neu übersetzt werden.
Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:
- Es besteht die Möglichkeit sortierte Dictionary-Literale zu notieren. Dazu wird die Form {! .... } genutzt, also ein Ausrufezeichen nach der öffnenden Klammer notiert.
- Es gibt Buffer-Literale (Ressourcenliterale), die mit << litexpr erzeugt werden, wobei litexpr
einen String ergeben muss, der einen Dateinamen bzw. relativen oder
absoluten Pfad repräsentiert. Die Suche nach der Datei erfolgt zur
Kompilierzeit nach denselben Regeln wie für in Anführungszeichen
eingeschlossene include-Dateien.
Der Puffer wird dann mit dem Dateiinhalt initialisiert.
- Das neue vordefinierte Literal NPOS gibt die Maximale Indexgröße an (definiert als uint(-1) ).
- Hinzugekommen sind sie verallgemeinerten Containerfiunktionen clear, erase, insert, reserve, resize, swap, move, slice, find und rfind, die die bisherigen Funktionen für den Typ vector ersetzen. Die alten Funktionsnamen bleiben vorerst als Aliasnamen erhalten.
- Neu sind die Containerfunktionen lbound, ubound, bsearch und insrange sowie die Funktion strftime.
- Die Verarbeitungsanweisung #defVar tut nichts, wenn bereits eine entsprechende Variable existiert, zuvor wurde die alte Definition ersetzt.
- static auto ist auch in Funktionen möglich (in Klassendeklarationen ging es schon immer).
... sowie Änderungen der Implementierung zur Verbesserung des
Laufzeitverhaltens und
einige Bugfixes.
Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
Version 1.3 (26.07.2020)
- B++ für MS-DOS bp2dos.zip (ca. 1 MB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- XML-Bibliothek
- B++ für Windows (bis XP), einschließlich Dokumentation und IDE
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 64 MB)
- B++-Dokumentation
Hinweise zur Version 1.3
Wichtigste Neuerung in Version 1.3 ist eine abstrakte Basisklasse CStruct, die die einfache Emulation von C-Strukturen einschließlich der Beachtung der Standardregeln für die Elementausrichtung (Alignmanr und Padding) ermöglicht. Ihr Zweck besteht in der Vereinfachung des Aufrufs von Systemfunktionen, die strukturierte Daten als Parameter erwarten.
Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:
- Für Integer-Literale gibt es erweiterte Suffixe Ln mit n = 0 ,1, 2, 4 oder 8, mit denen die Größe des Zahlenwerte in Byte angegeben (1 .. 8) oder festgelegt werden kann, dass die kleinstmögliche Größe verwendet werden soll (0). So lässt sich der genaue Typ eines Literals explizit angeben.
- Es gibt die neuen vordefinierten Literale __bplusplus ( mit der Versionsnummer von B++ * 100 als Wert), und PTRSIZE (Typ uint) mit der Größe eines Zeigers in Bytes (also 4 oder 8) als Wert.
- Die neue vordefinierte globale Variable __PTRSIZE__ gibt ebenfalls die Größe eines Zeigers an - allerdings im Gegensatz zu PTRSIZE diejenige zur Laufzeit des Programms.
- Neu ist das Schlüsselwort litexp, das der expliziten Kennzeichnung literaler Ausdrücke dient und die bisherige Verarbeitungsanweisung #(...) ablöst (das Konstrukt wird aber weiter unterstützt).
- Die vordefinierten I/O-Funktionen wurden um freopen, fflush, ftell und fseek erweitert - alle mit analogem Verhalten zu den gleichnamigen C-Funktionen). Für ftell wurden außerdem die vordefinierten Literale SEEK_SET (0), SEEK_CUR (1) und SEEK_END (2) hinzugefügt.
- Neu sind auch die vordefinierten Funktionen getclass(var arg) zum Bestimmen einer Klasse aus einer Objektinstanz oder einem als Zeichenkette angegebenen Klassennamen sowie newobject(Class, ...) zum Erzeugen einer Objektinstanz analog zum new-Operator.
Die beiden Funktionen sind als Hilfsmittel zur Implementierung generischer Factories gedacht.
- Geändert (und den Regeln von C++ angeglichen) wurde das Verhalten von Funktionen mit explizit angegebenem Rückgabetyp. Hier ist es nicht mehr zwingend erforderlich, dass die Implementierung selbst für die Rückgabe des exakten Typs sorgt; bei Bedarf wird eine implizite Konvertierung vorgenommen.
... sowie Änderungen der Implementierung zur Verbesserung des
Laufzeitverhaltens, eine Erweiterung der Debugger-Schnittstelle und
einige Bugfixes.
Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
Version 1.2 (17.08.2019)
- B++ für MS-DOS bp2dos.zip (ca. 1 MB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- XML-Bibliothek
- B++ für Windows (bis XP), einschließlich Dokumentation und IDE
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 66 MB)
- B++-Dokumentation
Hinweise zur Version 1.2
Version 1.2 bringt als wichtigste Neuerung die Veraebeitungsanweisungen #if, #ifdef, #ifndef, #elif, #else und #endif sowie den Pseudo-Operator defined mit, wodurch bedingte Übersetzungen analog zum C-Präprozessor möglich sind.
Hinzu kommen folgende 'kleine' Sprach- und Funktionserweiterungen bzw. -änderungen:
- Das Ellipse-Symbol (...) kann optional zur Kennzeichnung einer beliebigen Anzahl nachfolgender Parameter in Funktionsdeklarationen verwendet werden.
- Die Standardfunktion litexpr erlaubt die Auswertung von literalen Ausdrücken zur Laufzeit, insbesondere ermöglicht sie das direkte Lesen von JSON-Daten, da gültige JSON-Strukturen stets auch gültige Vector- bzw. Dictionary-Literale in B++ sind.
- Neu sind auch die Standardfunktionen strlwr und strupr zur Umwandlung von Zeichenketten in Klein- bzw. Großbuchstaben, die sich wie die gleichnamigen C-Funktionen verhalten.
- Der Wert null (vom internen Typ BVT_NULL) ist auch gleich Werten von Referenztypen, sofern sie auf die Adresse NULL verweisen, also
keine gütigen Daten besitzen. Dies kann nach der Zuweisung von null an eine statisch typisierte Variable sowie bei Weak-Referenzen auf eine solche Variable vorkommen.
- Für die Klasse Dictionary der Erweiterungsbibliothek (nur Windows-Version) gibt es bidirektionale und reverse Iteratoren.
- Der Operator .= der Klasse RegEx liefert als Ergebnis den zugewiesenen Wert (und keine Referenz auf das RegEx-Objekt) und entspricht so der Empfehlung für die Implementierung dieses Operators.
... Erweiterungen der Kommandozeilenoptionen
- Option -Dname[=value] zur Übergabe vordefinierter Symbole bzw. Literale, insbesondere zur bedingten Übersetzung
- Option -L zum Binden eines Bytecode-Moduls mit einer beliebigen Version der Laufzeitumgebuntg. Dies erlaubt das Erstellen ausführbarer B++-Programme für eine andere Zielplattform.
... sowie Änderungen der Implementierung zur Verbesserung des Laufzeitverhaltens, eine Erweiterung der Debugger-Schnittstelle und einige Bugfixes.
Außerdem wurde eine rudinentäre Linux-Unterstützung hinzugefügt, die vollständige Distribution enthält hierfür eine CodeLite-Projektmappe.
Weiterhin befinden sich in der vollständigen Distribution Definitionen zur Syntaxhervorhebung und zum Aufbau von Funktionslisten für den Editor Notepad++.
Achtung: Bei der Installation der Windows-Versionen werden ggf. vorhandene Vorgängerversionen ersetzt.
Version 1.1 (07.07.2018)
- B++ für MS-DOS bp2dos.zip (ca. 650 KB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- XML-Bibliothek
- B++ für Windows (bis XP), einschließlich Dokumentation und IDE
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 68 MB)
- B++-Dokumentation
- Handbuch PDF, deutsch BPP_lang.pdf (ca. 1,2 MB)
- Referenz CHM, englisch bpp.zip (ca. 10 MB - berichtigte Version vom 08.07.2018)
Version 1.0 (08.01.2018)
- B++ für MS-DOS bp2dos.zip (ca. 560 KB)
- Binaries für i8086 und i386/387
- Beispiel für Erweiterungen (DLLs) unter MS-DOS
- B++ für Windows (ab Vista), einschließlich Dokumentation und IDE
- B++-Distribution komplett mit Sourccode und Dokumentation bppall.zip (ca. 50 MB)
- B++-Dokumentation
BOB+ - Eine erweiterbare objektorientierte Script-Sprache
Version 2 Beta 2 (20.10.2012)
- BOB+ 2 Beta 2 für MS-DOS dos_bin.zip (ca. 10 MB)
Das Archiv enthält:
- Binaries für i8086 und i386/387
- Referenz-Dokumentation (CHM)
- BOB+ 2 Beta für Win9x/ME/2000/XP/Vista/7 (32 Bit)
- BOB+ 2 Beta für Windows CE ab 2.11
- BOB+ 2 Sourcecode bob_plus_2_src.zip (ca. 10 MB)
Version 1.1e (25.07.2011)
- BOB+ 1.1e vollständige Distribution bob_plus_1_1e.zip (ca. 1,1 MB)
Das Archiv enthält:
- Binaries (16 Bit, MS-DOS)
- BOB+ 1.1e Quellcode
- Quellen zur Bibliothek DOS-DLL (Version 1.01)
- Dokumentation zu BOB+ und DOS-DLL
- Beispiel zur Implementierung von DLLs für BOB+ 1.1
- BOB+ 1.1e Handbuch bobplus_1_1e_manual_de.pdf als PDF (ca. 570 KB)
Version 1.1d (08.07.2010)
- BOB+ 1.1d vollständige Distribution bob_plus_1_1d.zip (ca. 1,1 MB)
Das Archiv enthält:
- Binaries (16 Bit, MS-DOS)
- BOB+ 1.1d Quellcode
- Quellen zur Bibliothek DOS-DLL (Version 1.01)
- Dokumentation zu BOB+ und DOS-DLL
- Beispiel zur Implementierung von DLLs für BOB+ 1.1
- BOB+ 1.1d Handbuch bobplus_1_1d_manual_de.pdf als PDF (ca. 570 KB)
Version 1.1b (15.11.2008)
- BOB+ 1.1b vollständige Distribution bob_plus_1_1b.zip (ca. 1,1 MB)
Das Archiv enthält:
- Binaries (16 Bit, MS-DOS)
- BOB+ 1.1b Quellcode
- Quellen zur Bibliothek DOS-DLL (Version 1.01)
- Dokumentation zu BOB+ und DOS-DLL
- Beispiel zur Implementierung von DLLs für BOB+ 1.1
- BOB+ 1.1b Handbuch bobplus_1_1b_manual_de.pdf als PDF (ca. 560 KB)
Version 2 Beta 1 (26.05.2008)
- BOB+ 2 Beta für MS-DOS dos_bin.zip (1,9 MB)
Das Archiv enthält:
- Binaries für i8086 und i386/387
- Referenz (CHM)
- BOB+ 2 Beta für Win9x/ME/2000/XP
- BOB+ 2 Beta für Windows CE ab 2.11
- BOB+ 2 Sourcecode bp20_src.zip (ca. 2 MB)
Version 1.1a (15.03.2008)
- BOB+ 1.1a vollständige Distribution bob_plus_1_1a.zip (ca. 965 KB)
Das Archiv enthält:
- Binaries (16 Bit, MS-DOS)
- BOB+ 1.1a Quellcode
- Quellen zur Bibliothek DOS-DLL (Version 1.01)
- Dokumentation zu BOB+ und DOS-DLL
- Beispiel zur Implementierung von DLLs für BOB+ 1.1
- BOB+ 1.1 Handbuch bobplus_1_1a_manual_de.pdf als PDF (ca. 340 KB)
Version 1.1 (01.11.2007)
- BOB+ 1.1 vollständige Distribution bob_plus_1_1.zip (ca. 965 KB)
Das Archiv enthält:
- Binaries (16 Bit, MS-DOS)
- BOB+ 1.1 Quellcode
- Quellen zur Bibliothek DOS-DLL (Version 1.01)
- Dokumentation zu BOB+ und DOS-DLL
- Beispiel zur Implementierung von DLLs für BOB+ 1.1
- BOB+ 1.1 Handbuch bobplus_1_1_manual_de.pdf als PDF (ca. 340 KB)
Version 1.0 (Oktober 2005)
- BOB+ Binaries (16 Bit, MS-DOS) bob_plus_bin.zip (116 KB)
Das Archiv enthält den BOB+-Compreter bp.exe, die Demoversion bpdemo.exe und die Laufzeitumgebung bpr.exe.
- BOB+ Quellcode bob_plus_src.zip (35 KB)
Neben dem C-Quellcode enthält das Archiv Projektdateien für Turbo-C++ 1.01 zum Erstellen der drei Programmversionen.
- BOB+ Handbuch bob_plus_manual_de.zip (233 KB) oder zum direkten Ansehen als PDF (259KB)
- BOB+ Programmbeispiele samples.zip (6 KB)
DOS-DLL Dynamische Bibliotheken (DLLs) für MS-DOS
-
Distribution
dosdll.zip (ca 268 KB)
Das Archiv enthält die Quellen der Bibliothek (Version 1.01), die vollständige Dokumentation sowie ein Anwendungsbeispiel.
-
Hinweis: Die Bibliothek DOS-DLL ist FREEWARE und wird als Open Source zur Verfügung gestellt. Sie darf frei kopiert und weitergegeben sowie – direkt oder in modifizierter Form – in beliebigen kommerziellen oder nichtkommerziellen Anwendungen eingesetzt werden, sofern an geeigneter Stelle auf die Urheberschaft verwiesen wird .
OpenWYS DE - Eine erweiterte deutschprachige Version des Online-HTML-Editors openWYSIWYG
Hinweis: OpenWYS DE ist Freeware und kann zu den Bedingungen der GNU Lesser General Public License (LGPL) frei verwendet werden.
KsWyEdit - WYSIWYG-Webeditor auf Basis von openWYSIWYG
KsWyEdit ist eine Erweiterung/Neuimplementierung von openWYSIWYG DE.
Hinweis: KsWsEdit ist Freeware und kann zu den Bedinngungen der GNU Lesser General Public License (LGPL) frei verwendet werden.