bcpp – Online in der Cloud

Dies ist der Befehl bcpp, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


bcpp - C++-Verschönerer erstellen

ZUSAMMENFASSUNG


bcpp [-bcl] [-Mrd] [-cc ] [-f ]
[-Sei ] [-fnc ] [-NS ] [-h] [-i
] [-lg] [-nc] [-qb] [-s] [-t] [-tbcl] [-tbnl] [ ] [ ]
[ ]

ALLGEMEIN OPTIONAL


-bcl Offene geschweifte Klammern in der Codezeile

-Mrd Öffnen Sie die geschweifte Klammer in der neuen Zeile

-cc
Spalte zum Ausrichten von Kommentaren am Code

-f
Zeilenabstand der Funktion

-Sei
Name der Eingabedatei

-fnc
Laden Sie eine benutzerdefinierte Konfigurationsdatei

-NS
Name der Ausgabedatei

-h, -? Hilfemeldung anzeigen

-i
Länge des Einzugsraums

-lg Belassen Sie grafische Zeichen

-nc
Spalte zum Ausrichten von Kommentaren ohne Code

-qb
Definieren Sie die Größe des internen Warteschlangenpuffers

-s Verwenden Sie beim Einrücken Leerzeichen

-t Verwenden Sie Tabulatoren beim Einrücken

-tbcl Offene geschweifte Klammern der obersten Ebene in der Codezeile

-tbnl Offene Klammern der obersten Ebene in neuer Zeile

AKTIVIEREN DEAKTIVIEREN OPTIONAL


Optionen, die mit -y oder -n beginnen, aktivieren bzw. deaktivieren Funktionen.

-ja or erstellt
Offene geschweifte Klammern in der Codezeile

-yb or -nb
Sichern Sie die Eingabedatei mit der Erweiterung .bac

-ybbi or -nbbi
Beide geschweiften Klammern eines Blocks einrücken

-ybi or -nbi
Hintere Klammer des Blocks einrücken

-ykcwc or -nkcwc
Behalten Sie Kommentare mit Code bei

-ylcnc or -nlcnc
Hinterlassen Sie Kommentare mit NoCode

-yo or -Nein
Programmausgabe

-yq or -nq
Ändern Sie Nicht-ASCII-Zeichen in Anführungszeichen in Oktalzeichen

Überblick


Dieses Programm ermöglicht es einem Benutzer, bestimmte Elemente eines C- oder C++-Quellcodes neu zu formatieren. Das
Hilft, wenn der Code einer Person etwas unleserlich ist oder in einen bestimmten Stil eingerückt wurde
dir misfällt. Die Verwendung dieses Programms wird hoffentlich dabei helfen, den Code so umzugestalten, dass er funktioniert
entspricht genau Ihrem Stil. Aufgrund der vielen Stile von C(++), die codiert werden können,
Es gibt Grenzen dafür, wie gut dieses Programm mit dem Quellcode umgehen kann, und die daraus resultierenden Änderungen.
formatierte Quelle.

Im Folgenden finden Sie eine Liste der implementierten Funktionen:

- Kommentare an bestimmten Stellen neu positionieren.

- Entfernen Sie nicht druckbare Zeichen, die nicht in Anführungszeichen enthalten sind.

- Konvertieren Sie nicht druckbare Zeichen in Anführungszeichen in die Oktal-/Zeichennotation.

- Zeilenabstand zwischen Funktionen neu festlegen.

- Entfernen Sie nachgestellte Leerzeichen aus allen Zeilen sowie führende und nachgestellte Leerzeilen
aus der Datei.

- Positionieren Sie öffnende Klammern im Kernighan/Ritchie-Stil oder im Pascal-Stil neu.

- Verwendung von Tabulatoren oder Leerzeichen beim Einrücken.

- Einzug von einzeiligem Code gemäß bestimmten C-Bedingungsanweisungen,
einschließlich eingebetteter SQL-Anweisungen.

Voraussetzungen:


Dieses Programm läuft unter Microsoft DOS V3.3 und Unix-Plattformen.

Es werden etwa 50–70 KB (oder mehr, abhängig von der Größe der internen Warteschlange) Speicher benötigt
während der Ausführung.

Der Programmcode wurde so geschrieben, dass er mit bestehendem C++ kompatibel ist
Compiler, der Code entspricht jedoch nicht dem ANSI-Standard und erfordert möglicherweise eine Änderung für Sie
Umfeld. Der Quellcode wurde daher mit Standard-ANSI- und Posix-Funktionen geschrieben
Bei einer Neukompilierung auf einem anderen Computer sollte der geringste Umfang des Umschreibens erforderlich sein
Plattform.

Die aktuellen Quellen wurden mit Turbo C++ V3.0, für MS-DOS, GNU G++ 2.7.2 kompiliert
unter Sun SPARCstation mit SunOS, Solaris sowie SGI-Workstations mit IRIX.

OPERATION


Die Bedienung des Programms erfolgt über die Kommandozeile (CLI) und mit Hilfe einer Konfiguration
Datei können Sie Ihre Formatanforderungen definieren. Grundsätzlich beginnt jede Befehlsanweisung mit
Nach dem Befehlsnamen folgte ein Bindestrich „-“. Wenn für den Befehl ein weiterer Parameter erforderlich ist, wird der
Der Parameter wird nach dem Befehl hinzugefügt und durch ein Leerzeichen getrennt (z. B. bcpp -fi
input.cpp).

Hinweis: Geben Sie bcpp.exe nicht alleine ein, um die Befehlshilfe zu finden, sondern verwenden Sie bcpp -? oder bcpp -h.
Dies liegt an der Eingabeumleitung vom Betriebssystem. Unter Einhaltung der Unix-CLI-Konvention a
Eine Zeichenfolge, die von der CLI gelesen wird und keine Befehlsanweisung enthält, wird als a betrachtet
Eingabedatei. Wenn es in der Befehlszeile zwei solcher Vorkommen gibt, gilt der Vorrang
Zuerst die Eingabedatei und dann die Ausgabedatei (z. B. bcpp infile.cpp outfile.cpp -lg), ein dritter
Ein solches Vorkommnis führt zu einer Fehlermeldung.

Wenn keine Ausgabedatei angezeigt wird, erfolgt die Ausgabe vermutlich über die Standardausgabe. Das
schaltet die Programmausgabe automatisch ab. In der Befehlszeile eingegebene Parameter werden
Überschreiben Sie Parameter, die aus der Konfigurationsdatei gelesen wurden.

Ejemplo:
bcpp -fi input.cpp -f 2 -qb 5 -na -no -cc 60 > Output.cpp

Zusammenfassung

-fi input.cpp Eingabedatei = input.cpp
-f 2 Funktionsabstand = 2
-qb 2 Interner Warteschlangenpuffer = 5
-na Nicht-ASCII-Zeichen entfernen
-no Programmausgabe unterdrücken
-cc 60 Kommentare, die in derselben Zeile erscheinen wie
Der Code wird in Spalte 60 platziert.
>output.cpp Die Ausgabe des Programms wird umgeleitet
„Ausgabe.cpp“

Eine Konfigurationsdatei kann verwendet werden, um die meisten sich nicht ändernden Elemente in festzulegen
Neuformatierung des Codes. Die Konfigurationsdatei besteht aus einigen ziemlich langen Wörtern
werden verwendet, um den Ausgabestil des Codes zu erläutern. Die Einstellung dieser Parameter ist jedoch sehr
Ganz einfach, sie bestehen im Wesentlichen aus zwei Typen: Boolean- und Integer-Typen. Verwenden Sie Ihren Favoriten
Mit dem Texteditor können Sie in der Konfigurationsdatei Folgendes ändern ...

Die folgenden Parameter sind in der Konfigurationsdatei enthalten (Standard ist
bcpp.cfg). Das Programm wird versuchen, die Standardkonfigurationsdatei im Programm zu lesen
Quelle (d. h. welcher Pfad bcpp ausgeführt wurde). Mit der Option -fnc können Sie einen benutzerdefinierten Wert definieren
Name und Pfad der Konfigurationsdatei aus der CLI.

Integer-Typ-Bereiche: 0–5000 Boolean-Typ-Bereiche: Ein, Ja oder Aus, Nein

Function_Spacing: Ganzzahl
Dieser Parameter gibt an, wie viele Zeilen zwei Funktionen trennen.

z.B,
function_spacing = 2

CLI
-f 2

Use_Tabs: Boolesch
Gibt an, ob beim Einrücken von Code Tabulatoren verwendet werden sollen.

z.B,
use_tabs = nein

CLI
-t (Tabs aktivieren, standardmäßig werden Leerzeichen verwendet)
-s (Tabulatoren zum Einrücken verwenden)

Indent_Spacing: Ganzzahl
Gibt an, wie viele Leerzeichen eingerückt werden sollen. Dieser Parameter legt auch die Breite der Tabulatoren fest.
Bcpp geht davon aus, dass die Breite eines Tabulators mit der Breite eines Einzugs identisch ist.

EG
indent_spacing = 4

CLI
-ich 4

Comments_With_Code: Ganzzahl
Definiert die Spalte, in der sich Kommentare befinden, die nach dem Code in einer Zeile erscheinen
platziert.

z.B,
comments_with_code = 50

CLI
-cc 50

Comments_With_Nocode: Ganzzahl
Definiert die Spalte, in der Kommentare, die in einer Zeile erscheinen, platziert werden.

z.B,
comments_with_nocode = 0

CLI
-nc 0

Indent_Preprocessor: Boolean
Bei „true“ rückt bcpp Präprozessorzeilen entsprechend der Einrückung des C(++)-Codes ein.
Bei „false“ befinden sich Präprozessorzeilen in der ersten Spalte. Nicht erkannt (d. h.
Nicht standardmäßige) Präprozessorzeilen werden immer in die erste Spalte eingefügt.

Indent_Exec_Sql: Boolean
Wenn „true“, sucht bcpp nach eingebetteten SQL-Anweisungen (z. B. EXEC SQL) und Formaten
sie speziell.

Keep_Comments_With_Code: Boolescher Wert
Diese Option überschreibt die Option „Comments_With_Code“. Setzen Sie diese Option auf „Ein“.
macht Kommentare, die nicht passen, da Inline-Kommentare an den Code angehängt werden
egyébként.

Leave_Comments_NoCode: Boolescher Wert
Diese Option überschreibt die Option „Comments_With_Nocode“. Setzen Sie diese Option auf „Ein“.
rückt Kommentare, die nicht in derselben Zeile wie der Code vorkommen, in dieselbe Zeile ein
Einzug als Code.

z.B,
Leave_comments_nocode = on

CLI
-nlcnc (Leave_Comments_NoCode deaktivieren)
-ylcnc (Leave_Comments_NoCode aktivieren)

NonAscii_Quotes_To_Octal: Boolescher Wert
Verwenden Sie diese Option, um Nicht-ASCII-Zeichen (nicht druckbare Zeichen) in die Oktalschreibweise umzuwandeln, wenn
sie stehen in Anführungszeichen. Dieser Parameter wird erst wirksam, wenn entweder der
Die Parameter Ascii_Chars_Only oder Leave_Graphic_Chars wurden festgelegt.

z.B,
NonAscii_Quotes_to_Octal = nein

CLI
-nq (Nicht-ASCII-Zeichen in Anführungszeichen in Oktal umwandeln)
-yq (Nicht-ASCII-Zeichen in Anführungszeichen in Oktal umwandeln)

Leave_Graphic_Chars: Boolescher Wert
Wenn Sie diesen Parameter auf „Ja“ setzen, werden nicht druckbare Zeichen aus dem entfernt
Quelldatei, aber lassen Sie alle Zeichen, die IBM-Grafiken sind, in Ruhe. Alle nicht-
druckbare Zeichen, die in Anführungszeichen stehen, werden in umgewandelt
Oktal-/Zeichennotation, wenn der Parameter NonAscii_Quotes_To_Octal auf True gesetzt ist.

EG
Leave_graphic_chars = ja

CLI
-lg

Ascii_Chars_Only: Boolescher Wert
Wenn Sie diesen Parameter auf „Ja“ setzen, werden alle nicht druckbaren Nicht-ASCII-Zeichen entfernt
aus der Eingabedatei. Alle nicht druckbaren Zeichen, die in Anführungszeichen stehen, werden angezeigt
in Oktal-/Zeichen-Notation umgewandelt, wenn NonAscii_Quotes_To_Octal auf gesetzt ist
WAHR. Kommentieren Sie diesen Parameter aus, wenn Sie den Parameter Leave_Graphic_Chars verwenden.
da dieser Parameter ihn überschreibt.

z.B,
ascii_chars_only = ja

CLI
-na (Nicht-ASCII-Zeichen nicht entfernen)
-ya (Ja, Nicht-ASCII-Zeichen entfernen)

Place_Brace_On_New_Line: Boolesch
Wenn bcpp auf „on“ gesetzt ist, setzt es öffnende geschweifte Klammern in neue Zeilen („Pascal“-Stil C).
Wenn bcpp auf „Aus“ gesetzt ist, verwendet es die C-Codierung im „K&R“-Stil.

C-Codierung im Pascal-Stil:
if (Bedingung)
{
Aussagen;
}

C-Codierung im K&R-Stil:
if (Bedingung) {
Aussagen;
}

z.B,
place_brace_on_new_line = on

CLI
-bnl (auf )
-bcl (aus)

Program_Output: Boolescher Wert
Dieser Parameter verhindert, dass die Ausgabe des Programms die möglicherweise beendete Ausgabe beschädigt
aus dem Programm über die Standardausgabe. Wenn dieser Parameter auf Aus/Nein gesetzt ist
Dann wird vom Programm keine Ausgabe generiert, es sei denn, es tritt ein Fehler auf.
Der Standardfehler wird verwendet, um bei der Verarbeitung aufgetretene Fehler anzuzeigen.

Z.B
program_output = aus

CLI
-no (Standard ist, wenn möglich eine Ausgabe generieren, dies wird geschehen
Ausgang erzwingen aus)
-yo (Programmausgabe einschalten, wenn möglich)

Queue_Buffer: Ganzzahl
Gibt an, welche Zeilengröße der interne Speicher benötigt
Verarbeitungspuffer. Dies wird für die Verlagerung offener Zahnspangen in Kernighan/Ritchie verwendet
Stil. Die Erweiterung dieses Puffers auf große Speichermengen verlangsamt die Verarbeitung
kleine Maschinen.

z.B,
Queue_Buffer = 2

CLI
-qb 2

; : Unzutreffend
Wenn Sie vor dem Text ein Semikolon platzieren, wird alles nach dem Semikolon zu einem
Kommentar.

Backup_File: Boolescher Wert
Diese Option sichert die Eingabedatei in einer Datei mit der Erweiterung „.bac“ und
Überschreiben Sie die Eingabedatei mit der neu formatierten Version.

z.B,
backup_file = ja

CLI
-yb (ja, Eingabedatei sichern, wenn möglich)
-nb (nein, Eingabedatei nicht sichern)

Laden Konfiguration Reichen Sie das : CLI einzige


Bcpp implementiert eine Konfigurationseinstellung, um die Auswahl benutzerdefinierter Dateien aus einer bestimmten Datei zu ermöglichen
Von einem Benutzer definierter Pfad/Datei.

z.B,
bcpp input.cpp -yb (liest die bcpp.cfg-Konfigurationsdatei
vor der Verarbeitung von CLI-Optionen)

bcpp -fnc /bin/bcpp.cfg (Konfigurationsdatei laden unter
besagter Ort)

CLI
-fnc (benutzerdefiniert verwenden)

Name der Eingabedatei: Nur CLI
Diese Option weist bcpp an, Daten unter einem bestimmten Pfad und Dateinamen zu lesen.

Z.B
bcpp -fi Eingabe.cpp > ​​Ausgabe.cpp

CLI
-Sei

Name der Ausgabedatei: Nur CLI
Dies definiert den Namen der Ausgabedatei, in die Daten geschrieben werden sollen.

z.B,
Muss so sein (zumindest unter DOS):

bcpp -fo Ausgabe.cpp < Eingabe.cpp

ClI
-NS

Online-Hilfe: Nur CLI
Im Programm gibt es eine kurze, aber prägnante Online-Hilfe. Der
help listet alle im Programm verfügbaren CLI-Befehle auf.

ZB bcpp -h

CLI bcpp -?
bcpp -h

Konfiguration Reichen Sie das Fehler Messages


Wenn Sie in der Konfigurationsdatei einen Befehl/Parameter falsch eingeben, wird Folgendes angezeigt:
Wenn das ausführbare Programm es liest, generiert das Programm zusammen mit seiner Fehlermeldung eine Fehlermeldung
Zeilennummer. Im Folgenden finden Sie eine Erläuterung der Fehlermeldungen, die dabei auftreten können
Lesen von Parametern innerhalb der Konfigurationsdatei.

Syntaxfehler nach Schlüsselwort:
Der Fehler tritt auf, weil das Zeichen/Wort nach einem Parameter falsch war, oder
ein anderes Schlüsselwort erwartet (z. B. =, Ja, Nein, Ein, Aus)

Bereichsfehler:
Ein Fehler tritt auf, wenn ganzzahlige Parameter eine ungültige numerische Einstellung haben (z. B. A
Zahl liegt nicht zwischen 0 und 5000).

Erwartete numerische Daten:
Dieser Fehler tritt auf, wenn alphanumerische Daten anstelle numerischer Daten für Ganzzahlen stehen
Typparameter.

Kann nicht entziffert werden:
Der Parameter in dieser Zeile ist ungültig (dh nicht erkennbar).

Wenn nach dem Lesen der Konfigurationsdatei Fehler aufgetreten sind; Der Benutzer wird dazu aufgefordert
mit einer [j/n]-Fortsetzungsaufforderung, um entweder die vorherigen Konfigurationsfehler zu beheben
Bearbeitung starten oder mit den aktuell eingestellten Parametern fortfahren.

Führen Sie Uhrzeit Fehler Während Eingang Reichen Sie das Verarbeitungs-


Speicherzuweisung fehlgeschlagen:
Das Programm konnte keinen Speicher für die Verarbeitung von Daten zuweisen. Dieser Fehler wird beendet
Verarbeitung von Daten.

Fehler im Linienaufbau

Erwartete irgendeine Art von Code! Datentyp = ? :
Dieser Fehler wird im Rahmen des Leitungskonstruktionsprozesses generiert. Die entschlüsselte Zeile
aus der Eingabedatei sind für dieses Programm möglicherweise zu unleserlich. Finden Sie die Zeile in
Überprüfen Sie die Eingabedatei und prüfen Sie, ob sie geändert werden kann, damit die Verarbeitung fortgesetzt werden kann.

C(++) Verschönerer Einschränkungen


In diesem Abschnitt werden bestimmte Bereiche im Code hervorgehoben, in denen bcpp den Code nicht rekonstruieren kann
Geben Sie den Code im gewünschten Stil aus (auch wenn er möglicherweise noch kompiliert werden kann).

– Der gesamte Code, der über dieses Programm übertragen wird, sollte in einem kompilierbaren Zustand sein. Das
bedeutet, dass es schließende geschweifte Klammern geben sollte, die öffnende geschweifte Klammern aufheben. Bcpp
Führt überhaupt keine Syntaxprüfung des Codes durch, sondern formatiert ihn je nach Öffnung neu.
schließende geschweifte Klammern und eine Handvoll Schlüsselwörter für den einzeiligen Einzug.

- Es gibt auch eine Einschränkung hinsichtlich der Bewegungsfreiheit offener Zahnspangen
verarbeitet. Dies liegt am aktuellen Design des Programms (dies kann leicht behoben werden).
durch Erweiterung der internen Warteschlangenpuffergröße), Speicherbedarf, Verarbeitung
Geschwindigkeit. Die dynamische Speicherzuweisung wird im gesamten Programm häufig verwendet
Unter bestimmten Bedingungen können die aktuellen Grenzwerte überschritten werden.

Das Beispiel zeigt die Bewegungen der Klammer von der neuen Zeile nach oben
Codezeile findet nicht statt, da dies außerhalb des Gültigkeitsbereichs des Programms liegen würde
Die Größe des internen Warteschlangenpuffers ist auf 2 Zeilen begrenzt.

Beispiel für den Bewegungsumfang einer Zahnspange:

wenn (a == b)
// Klammer wird nicht neu positioniert
{
b = c;
}

if (a == b) // Klammer wird neu positioniert
{
b = c;
}

Endresultat

wenn (a == b)
// Klammer wird nicht neu positioniert
{
b = c;
}

if (a == b){ // Klammer wird neu positioniert
b = c;
}

– Es gibt eine Einschränkung, dass eine einzelne Codezeile nur einen Typ haben sollte
Kommentar. Wenn sowohl C als auch C++ in derselben Zeile vorhanden sind, dann die Zeile
Die Konstruktionsphase des Programms wird durcheinander geraten und einen Fehler erzeugen
Nachricht. Die folgende Zeile erzeugt eine Zeilenkonstruktionsfehlermeldung.

Beispiel für mehrere Kommentare.

/* C Kommentar */ a = b; // C++-Kommentar

Die obige Zeile erzeugt einen Fehler. Beheben Sie dieses Problem, indem Sie einen Typ entfernen
Kommentieren Sie sie, kombinieren Sie sie oder platzieren Sie sie in einer neuen Zeile.

AUTOREN


Geschrieben von Steven De Toni, Dezember 1995
Aktualisiert von Thomas Dickey im Januar 1997–2002

Sie können Steven De Toni über verschiedene Online-Netzwerke kontaktieren:

Internetadresse
tge@midland.co.nz
steve@alpha.ocbbs.gen.nz

Net Mail über Fido-Net (Hundenetz)
Steven De Toni,
"Die grosse Flucht",
Hamilton,
Neuseeland

Demi-Monde New Zealand National Mail Net Work
(siehe Hundenetz)

Wenn alles andere fehlschlägt, senden Sie eine Post an:

17 Garden Heights Ave,
Melville,
Hamilton,
Neuseeland

Thomas Dickey ist unter erreichbar

dickey@invisible-island.net

Besonderer Dank geht an Glyn Webster für das Korrekturlesen meines Handbuchs und das Testen meines


Vielen Dank an Justin Slootsky für seinen Beitrag und die Änderungen für diese Version.

Alle grammatikalisch Die Fehler in diesem Dokument sind zu Ihrer Information da. ;-)

Haftungsausschluss


Die Autoren geben keine Garantie dafür, dass dieses Programm gemäß den angegebenen Spezifikationen funktioniert
über die Konfiguration oder die rekonstruierte Ausgabe des Quellcodes des Programms
verarbeitet. Jeglicher Schaden, der durch die Verwendung dieses Programms entstehen könnte (sei es Software oder
Hardware) ist das Problem des Benutzers und nicht der Autoren. Die Verwendung dieser Software verpflichtet Sie dazu
dieser Haftungsausschluss.=

C++ Beautifier()

Verwenden Sie bcpp online über die Dienste von onworks.net



Neueste Linux- und Windows-Online-Programme