Einrücken & Klammersetzung prüfen

05/01/2013 - 13:12 von Philipp Kraus | Report spam
Hallo,

ich habe mit Hilfe von CLang eine Überprüfung meine C/C++ in Python
geschrieben. Ich suche nun nach einer einfachen Möglichkeit die
Struktur der Einrückungen zu prüfen. Regulàre Ausdrücke kann man dazu
nicht verwenden, denn es handelt sich ja dabei um eine Dycksprache
(Chomsky-2).
Ich brauche in Python eine Möglichkeit, so dass ich prüfen kann ob z.B.
die Klammern immer passend bündig angeordnet wurden z.B.:
if (true)
{
{
}
} else {
{
}
}

Die Einrückung ist als Tabulator oder feste Anzahl von Leerzeichen
definiert. Ich habe einmal den Text des Codes und den AST (abstract
syntax tree) durch CLang zur Verfügung.
Meine erste Idee wàre nun den AST zu parsen und anhand der Eintràge die
entsprechende Einrückung der Zeile zu prüfen. Gibt es da evtl
pythonseitig schon ein fertiges Modul
oder eine effizientere Möglichkeit

Würde mich über ein paar Anregungen freuen

Vielen Dank

Phil
 

Lesen sie die antworten

#1 Pierre B.
14/01/2013 - 20:28 | Warnen spam
Am 05.01.2013 13:12, schrieb Philipp Kraus:
Hallo,

Würde mich über ein paar Anregungen freuen


schau Dir mal das pyparsing-Modul an. Es ist klein und effizient.

MfG...
Pierre

Ähnliche fragen