Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

h_2_bi.bas (SWIG-Alternative, Version 0.2.8.2)

Downloads » Kommandozeilentools

Download

Screenshot

Screenshot
Vergrößern
Bild vergrößern

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 Externer Link!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 Externer Link!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 Externer Link!englischen Forum entnommen werden.

Das Zip-Archiv enthält:

DateiBeschreibung
ReadMe.txtInfos und Anleitung in Englisch
LiesMich.txtInfos und Anleitung
changelog.txtChronologische Zusammenfassung der Entwicklung
example.h2biBeispiel einer Konfigurationsdatei
/srcOrdner 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 Externer Link!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 Externer Link!english forum.

The zip includes:

filedescription
ReadMe.txtinfo and tutorial
LiesMich.txtinfo and tutorial in German
changelog.txtChronological changes
example.h2biExample config-file
/srcfolder with source code (compile h_2_bi.bas)

Good luck and share your results!