2010-02-24 7 views
10

Gibt es vorhandene C++ - Grammatikdateien für ANTLR?Gibt es eine funktionierende C++ - Grammatikdatei für ANTLR?

Ich bin auf der Suche nach Lex, nicht einige C++ - Quellcode-Dateien analysieren.

Ich habe auf die ANTLR grammar page geschaut und es sieht aus als ob es eine von Sun Microsystems here erstellte Liste aufgeführt ist.

Es scheint jedoch ein generierter Parser zu sein.

Kann mir jemand auf eine C++ ANTLR Lexer oder Grammatikdatei verweisen?

Antwort

2

C++ Parser sind tough zu bauen.

Ich kann nicht mit Erfahrung über mit ANTLR C++ Grammatiken sprechen. Here I discuss was ich gelernt habe, indem ich die Notizen gelesen habe, die an die angehängt sind, die ich auf der ANTLR Seite gesehen habe; Im Wesentlichen produzierte der Autor eine unvollständige Grammatik. Und das war nur für C++ 98. Es ist eine Weile her, seit ich geschaut habe; vielleicht gibt es andere.

Unsere DMS Software Reengineering Toolkit hat eine robust C++ front end.

Der Lexer übernimmt alle cruft für ANSI, GCC3, MS Visual Studio 2008, einschließlich großer Genauigkeit Gleitkommazahlen usw.

[EDIT: 12/2011. Behandelt nun C++ 11 und OpenMP-Direktiven]

[EDIT: 3/2015: Behandelt nun C++ 14 in beiden GCC und MS-Varianten. See some parse trees here on SO]

"nur" einen Parser zu haben ist eigentlich nicht sehr nützlich. Über das "Parsen" hinaus wird unser Frontend ASTs erstellen, genaue Symboltabellen erstellen (für C++ ist das extrem schwierig), eine funktionsorientierte Flussanalyse durchführen und Ihnen ermöglichen, Programmtransformationen usw. durchzuführen Life After Parsing.

+3

Ich habe Ihre Website ausgecheckt, scheint, als ob Sie einige coole Werkzeuge zu vernünftigen Preisen haben, aber Ihre Website könnte mit etwas Arbeit in Struktur und Aussehen und Gefühl tun. –

+0

@Andre: irgendwelche konstruktiven Bemerkungen, die Sie machen könnten, sind willkommen; Wir sind immer daran interessiert, uns zu verbessern. Bitte mailen Sie an "[email protected]". –

+0

Wie vergleicht sich Ihr Projekt zum Beispiel mit [Clang] (http://clang.llvm.org/), was alles, was Sie sagen, kostenlos ist? Ich scherze, aber immer noch interessiert an deiner Antwort! – rubenvb

Verwandte Themen