h_2_bi.bas (SWIG-Alternative, Version 0.2.8.2)
Download
- ZIP-Archiv (55 kB)
- GPLv3
- Plattformen:
- FreeBASIC 1.00.0
- Quelltext enthalten
- Angelegt von TJF am 08.04.2010 • Aktueller Dateiupload vom 03.10.2014
- Alle Dateiversionen
Bewertung
Punkte: 4,8 bei 4 Stimmen(Zum Abstimmen auf die Sterne klicken.)
h_2_bi ist ein Tool, mit welchem Header-Dateien der Programmiersprache C in eine (seit version 0.2.1 auch mehrere) Header-Datei für die Programmiersprache FreeBasic übersetzt werden können. Ziel ist es, in C geschriebene Bibliotheken unter FreeBasic nutzbar zu machen, wie z.B. GTK+, sqlite3, DisLin, ZBar, cairo u.a.
h_2_bi.bas ist der Quelltext zu einem Kommandozeilen Tool, er muss zunächst mit fbc kompiliert werden. Das Tool wird durch eine Konfigurationsdatei (Endung .h2bi) gesteuert. Als grafische Bedienoberfläche bzw. IDE wird Geany empfohlen.
h_2_bi erzeugt beim Start von der Kommandozeile für jede Steuerdatei (*.h2bi) immer genau eine Ergebnis-Datei. Diese wird im Arbeitsordner erstellt. Sie trägt den Namen der Steuerdatei, gefolgt von der Endung '.bi'. Diese Ergebnis-Datei (FB Header) enthält das Ergebnis der Übersetzung, und ggf. C-Quelltext als Kommentar, soewie ggf. auch Kommentare zu Problemen, welche beim Übersetzungsprozess aufgetreten sind. Der Übersetzungsprozess (und damit der Inhalt der Ergebnis-Datei) ist anpassbar und wird mithilfe von Optionen festgelegt (in der Kommandozeile oder der Steuerdatei).
Es handelt sich um ein Tool für die interaktive Benutzung, welches im Laufe eines Übersetzungsprozesses üblicherweise mehrfach aufgerufen wird. Zwischenergebnisse werden mit dem fbc (FreeBasic Kompiler) überprüft. h_2_bi kann (noch) nicht alle möglichen Strukturen übersetzen, die in einem C-Header vorkommen können. Ein gewisser Teil an Handarbeit wird übrig bleiben. h_2_bi wurde mit dem Ziel entwickelt, in erster Linie eine zuverlässige Übersetzung zu gewährleisten und den nicht übersetzten Rest möglichst gut für die händische Nachbearbeitung aufzubereiten.
h_2_bi ist ein 'dummer' Übersetzer, d.h. es werden keine Typ-Prüfungen vorgenommen. Nicht definierte Variablen oder Symbole stoppen den Übersetzungsprozess nicht. Der Vorteil dieses Konzeptes ist, dass auch bei fehlerhaften oder unvollständigen Eingangsdateien in jedem Fall eine Ergebnis-Datei erzeugt wird. Die Qualität des Ergebnisses hängt davon ab wie gut h_2_bi durch die Steuerdatei parametrisiert wird, was neben dem Hintergrundwissen bzgl. FreeBasic und C QUelltext auch ein wenig Übung im Umgang mit h_2_bi erfordert.
Neben der Verwendung als Kommandozeilenprogramm kann h_2_bi auch als benutzerdefiniertes Modul in der IDE Geany eingesetzt werden. Innerhalb dieser IDE kann h_2_bi auf Knopfdruck einen markierten Block C Quelltext durch übersetzten FreeBasic Quelltext ersetzen (Details siehe LiesMich.txt).
Weiterführende Informationen können der Diskussion im englischen Forum entnommen werden.
Das Zip-Archiv enthält:
Datei | Beschreibung |
---|---|
ReadMe.txt | Infos und Anleitung in Englisch |
LiesMich.txt | Infos und Anleitung |
changelog.txt | Chronologische Zusammenfassung der Entwicklung |
example.h2bi | Beispiel einer Konfigurationsdatei |
/src | Ordner mit den Quelltextdateien. (h_2_bi.bas kompilieren) |
Viel Erfolg bei der Anwendung und veröffentlichen Sie die Ergebnisse!
English
h_2_bi.bas is the FB source code of a command line tool to translate one or more header file(s) from programming language C into one single header file for FreeBasic (multiple output files also supported since version 0.2.1).
h_2_bi is the source code for a command line tool that has to get compiled first. The tool is controled by a configuration file (suffix .h2bi). It has been developed to translate GTK+ headers and was used successfully on sqlite3 and others as well.
h_2_bi will generate exactly one output file in the current folder (multiple files since 0.2.1). This file is named after the configuration file and has the suffix '.bi'. It contains the results from translation, some untranslated C source as comments and if need be some hints on problems arised during translation process. The generation of the output file context is variable and is controled by some options (at command line or in config file).
h_2_bi is an interactive tool. Be prepared to call it more than one time. It is a 'stupid' translator. That means it does not check types. This check will be done by fbc (FreeBasic compiler) later on. The advantage of the 'stupid' translation is you'll get a result in all cases. The quality of the translation depends on the parameters h_2_bi gets from the config files (suffix .h2bi).
h_2_bi isn't able to translate all possible C struktures from a C header. A small rest has to be manually translated. h_2_bi is aiming first to generate a relaible translation and second to help as good as possible for manual translating the rest.
Alternativ h_2_bi can be used as a custom command in Geany IDE. When installed, h_2_bi can translate the selected block of C source code into FB source by a single key press (see ReadMe.txt for details).
Find additional information at the english forum.
The zip includes:
file | description |
---|---|
ReadMe.txt | info and tutorial |
LiesMich.txt | info and tutorial in German |
changelog.txt | Chronological changes |
example.h2bi | Example config-file |
/src | folder with source code (compile h_2_bi.bas) |
Good luck and share your results!