<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Aaron Feng: ANTLR</title>
    <link>http://www.aaronfeng.com/articles/2007/04/11/antlr</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Adventures in software development</description>
    <item>
      <title>ANTLR</title>
      <description>&lt;p&gt;&lt;img src="http://www.aaronfeng.com/files/2007-04-10_antlr_book.jpg" alt="ANTLR Book"/&gt;&lt;/p&gt;

&lt;p&gt;I have been following &lt;a href="http://www.antlr.org/"&gt;ANother Tool for Language Recognition (ANTLR)&lt;/a&gt; on and off for about two years now.  I always felt ANTLR is one of the most exciting, and not as well known tools, out there.  With ANTLR you can build a program that is able to recognize input, a recognizer, by specifying the grammar for a given input (language).  ANTLR does all the dirty work for you- it builds lexical analyzers (input character stream, and output tokens) and parser (input token output syntax tree) for you when you feed it &lt;a href="http://en.wikipedia.org/wiki/BNF_grammar"&gt;BNF grammar&lt;/a&gt;.  Once you have a recognizer you can do all kinds of cool things like transformation.  Basically you can build a &lt;a href="http://en.wikipedia.org/wiki/Domain_Specific_Language"&gt;Domain Specific Language (DSL)&lt;/a&gt; that can help you solve a problem.&lt;/p&gt;

&lt;p&gt;I am glad to see there will be a &lt;a href="http://www.pragmaticprogrammer.com/titles/tpantlr/index.html"&gt;Definitive ANTLR Reference&lt;/a&gt; hitting the book store soon.  Currently the book is in beta and it is available for purchase in pdf form.  After reading the book, I feel that I understand ANTLR at a much deeper level.  I am planning to build some simple transformation tools with ANTLR in the near future.  I will talk about it in later posts.  If you want to be a savvy programmer, this book is a must read.&lt;/p&gt;</description>
      <pubDate>Wed, 11 Apr 2007 07:17:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:adff1256-759a-4f1c-ad1b-902ee8dbb63d</guid>
      <author>Aaron Feng</author>
      <link>http://www.aaronfeng.com/articles/2007/04/11/antlr</link>
      <category>books</category>
      <category>ANTLR</category>
    </item>
  </channel>
</rss>
