3 Stimmen

Regulärer Ausdruck für (C)-Funktionsaufrufe

Hat jemand einen regulären Ausdruck für den Abgleich von Funktionsaufrufen in C-Programmen?

3voto

Konrad Rudolph Punkte 503837

Da C keine reguläre Sprache und C-Funktionsaufrufe beliebige Argumentausdrücke enthalten können, fürchte ich, dass die Antwort auf Ihre Frage "nein" lautet.

2voto

David Punkte 13959

Nach einigem Suchen beschloss ich, den Compiler die harte Arbeit machen zu lassen.

Bringen Sie den Compiler dazu, eine Register Transfer Language (RTL) Datei mit den -dr Optionen von gcc.

Die erzeugte RTL-Datei hat die Endung .rtl oder .expand.

Diese Datei ist viel einfacher zu analysieren, da die Funktionsaufrufe bereits identifiziert sind.

1voto

Xavier Nodet Punkte 4883

Ich bezweifle, dass Sie einen Regex finden können, der auf alle (und nur auf die) Funktionsaufrufe in einem Quellcode passt. Aber vielleicht können Sie ein Werkzeug wie Verstehen Sie oder Ihre IDE, um Ihren Code zu durchsuchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X