Ich weiß, dass ich den Präprozessor dazu bringen kann, die Ausgabe mit der Option -E
Option in meinem speziellen Fall. Für generierten Code ist diese Präprozessorausgabe mörderisch. Ich habe zum Beispiel eine 4gl-Anwendung und Informix konvertiert diese in C die wiederum zu einem schrecklichen, hässlichen Durcheinander ausgespuckt wird.
Was ich möchte, ist ein Editor, mit dem ich angeben kann, welche Präprozessorwerte gelten, und der mir nur den relevanten Code anzeigt. Ich habe etwas sehr einfaches, das in Vim funktioniert und passt #ifdef
y #endif
aber der Code ist gespickt mit fortgeschritteneren Konstrukten wie #ifndef
, #if
y #else
. Erschwerend kommt hinzu, dass die Konstrukte logisch komplexer sind, und ich glaube nicht, dass meine Vim-Skripting-Kenntnisse ausreichen, um das zu erreichen, was ich erreichen will. Zum Beispiel:
#if DLEVEL > 5
#define SIGNAL 1
#if STACKUSE == 1
#define STACK 200
#else
#define STACK 100
#endif
#else
#define SIGNAL 0
#if STACKUSE == 1
#define STACK 100
#else
#define STACK 50
#endif
#endif
#if DLEVEL == 0
#define STACK 0
#elif DLEVEL == 1
#define STACK 100
#elif DLEVEL > 5
display( debugptr );
#else
#define STACK 200
#endif
Dazu gehört auch die Definition eines Ausdrucksauswerters, wenn ich ihn in Angriff nehmen will. Dies muss ein gelöstes Problem sein! Wenn Sie Vim-Vorschläge oder andere Vorschläge haben, lassen Sie es mich bitte wissen.