Archive for Februar, 2008

ANTLR Hello World with Maven

Sonntag, Februar 24th, 2008

ANTLR, geschrieben von Terence Parr, ist ein sehr praktisches Tool um zur Parser Generierung. Bis jetzt hab ich für Text Processing hauptsächlich sed und grep verwendet, aber nach den ersten Experimenten werde ich in Zukunft wohl mehr und mehr auf ANTLR setzen.

EBNF zu verwenden hat natürlich viele viele Vorteile:

  • Partizipation beim Trend zur Verwendung von DSL’s (polyglott zu sein war und ist essentiell für einen Software Entwickler)
  • Migrationen von einer physischen Darstellung zur anderen werden trivial
  • Abstraktion und enorme Flexibilität
  • Sprachunabhängigkeit
  • Aufbau Know How zur Erschaffung eigener Programmiersprachen

Bei meiner derzeitigen Tätigkeit muß ich z.b. mit vielen vielen Sql scripts rumkämpfen (> 5000), die ich nun automatisiert verarbeite und verschiedene Artefakte (Code, Dokumentation) generiere.

Zum Reinschnuppern habe ich ein Eclipse Helloworld Beispielprojekt für ANTLR und Maven zusammengestellt. Das M2 Plugin für Eclipse sollte auch installiert sein.

ANTLR Hello World with Maven

Die Zip Datei enthält ein Eclipse Projekt mit einem POM der ANTLR im Build Prozess entsprechend aufruft.

Der Aufruf von ‘mvn compile’ genügt, um den Codegenerator anzuwerfen. Aus der Grammatik wird dann ein Java File erstellt.

Hier noch der entsprechende Teil aus dem POM:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>antlr3-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<goals>
<goal>antlr</goal>
</goals>
</execution>
</executions>
</plugin>