Der C++ Parser akzeptiert die folgenden Standards und Dialekte:
- ISO/IEC 14882:1998 Programming languages - C++
- Borland C++
- GCC C++
- Microsoft Visual C++
- Microsoft .NET C++
Der Parser unterstützt den vollständigen Sprachumfang einschließlich Templates und Ausnahmebehandlung sowie die Erweiterungen von GCC, Borland und Microsoft. Der C++ Parser baut einen Syntaxbaum und eine Symboltabelle auf. Er führt Namensanalyse durch, mit Ausnahme der Auflösung von Overloading. Die Namensanalyse bestimmt für jede Verwendung eines Namens die zugehörige Deklaration. Meldungen (Warnung/Fehler) sind abstrahiert. Sie werden durch Prozeduraufrufe realisiert. Die zugehörigen Prozeduren können beliebig angepaßt werden.
Das System enthält einen C++ Präprozessor. Der Präprozessor baut ebenfalls einen Syntaxbaum und eine Symboltabelle auf. Dies erlaubt die Analyse und die Transformation von Präprozessor-Direktiven. Der C++ Parser und der C++ Präprozessor sind so zusammengefügt, daß die Positionen der syntaktischen Konstrukte der Quelldateien im Syntaxbaum erhalten bleiben.
Referenzen
- ISO/IEC 14882:1998 Programming languages - C++
- Borland C++, Version 5.0
- GCC C++, Version 3.3.3
- Microsoft Visual C++ 6.0
- Microsoft .NET C++ 7.0