The Definitive ANTLR 4 Reference

Michael Müller
Verlag

The Pragmatic Programmers

Erschienen

2013

Seiten

328

Preis

37,00 $

Sprache

Englisch

ISBN

978-1-93435-699-9

Preis

37,00 $

In seinem ersten Buch erklärte Terrence Parr noch den Namen ANTLR, ANother Tool for Language Recognition. Im aktuellen Werk verzichtet er darauf. Schließlich ist ANTLR inzwischen bekannt genug. Bei dem Produkt handelt es sich um einen Lexer und Parser. Eingabedaten werden in Tokens umgewandelt und diese interpretiert. Der Autor nennt in der Einleitung ein paar bekannte Anwendungen: So parst die NetBeans-IDE C++-Dateien oder Twitter die Suchanfragen mit diesem Tool. Und bei Martin Fowler ist nachzulesen, wie er mittels ANTLR Domain-specific Languages erstellt. In der Version 4 ist dieses Tool nun einfacher und leistungsfähiger geworden. Musste der Entwickler in der Vorgängerversion für bestimmte Applikationen selbst noch einen abstrakten Syntaxbaum erzeugen, so geschieht dies in der neuen Version automatisch. Und Treewalker sowie Listener werden gleich mitgeliefert. Wie dies funktioniert, beschreibt der Autor im Detail. Aber nicht nur die neue Version ist besser, auch Terrence Parr hat seinen Schreibstil verändert. Er setzt weniger voraus und holt so den Leser ganz am Anfang ab. Und er erklärt deutlich besser. Waren in seinem ersten Buch doch Kenntnisse über Lexing und Parsing fast schon zum Verständnis notwendig, so kommt nun auch ein Einsteiger in diesem Bereich gut zurecht. Lediglich Programmierkenntnisse werden vorausgesetzt. Kenntnisse der (E)BNF sind hilfreich, aber nicht notwendig.

Parr erläutert die Prinzipien von Lexern und Parsern und grenzt deren Funktionalität voneinander ab. ANTLR beherrscht beides – sogar in einer Grammatikdefinition. Das macht die Anwendung einfacher. Zum ersten Teil des Buchs gehört auch ein Überblick über die Möglichkeiten. Parr zeigt, wie beim Parsen ein Syntaxbaum aufgebaut und dieser durchwandert wird und welche Features ANTLR so alles bietet. In den Teilen II und III geht es dann in die Details. Parr zeigt anhand beispielhafter Grammatiken, wie CVS, JSON, R, XML und andere Sprachen zu erkennen sind – und zeigt auch, wie mittels ANTLR einfach Übersetzer, z. B. von JSON nach XML, erstellt werden können. Links-rekursive Grammatiken, Erkennung nicht eindeutiger Syntax, die erst im Kontext verständlich wird, Umschaltung zwischen Erkennungsmodi, Einbettung von Aktionen und vieles mehr erläutert der Autor ausführlich. Und wer sich bisher noch nicht mit dieser Thematik beschäftigt hat und daher mit den benannten Begriffen nichts anfangen kann, der versteht auch diese mit der Lektüre. Teil IV schließlich ist mit „ANTLR Reference“ betitelt. Aber auch dieser Teil ist nicht einfach nur eine Auflistung der ANTLR-API- oder Grammatik-Referenz. Auch hier findet der Leser zahlreiche Hinweise und Erklärungen. Insofern ist das Buch nicht nur Referenz, sondern auch User Guide. So macht es Spaß, es zu lesen und zu erkennen, was alles mit einem Lexer/Parser möglich ist.

Geschrieben von
Michael Müller
Michael Müller
Michael Müller verfügt über mehr als 30 Jahre Erfahrung in Softwareentwicklung, Training und Consulting, davon rund 25 Jahre im Gesundheitswesen. Er leitet den Bereich Softwareentwicklung bei der InEK GmbH. Daneben betätigt er sich als freier Autor und Blogger. Er ist Mitglied der JSF Expert-Group, des NetBeans Dream Team sowie der JUG Cologne.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.