﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Aaron Feng commented on Observations on Learning</title><description>I wrote a couple examples using ANTLR a few months back.  You might find it interesting: http://aaronfeng.com/articles/2007/04/14/csharp-to-pl-sql
</description><link>http://ayende.com/2612/observations-on-learning#comment5</link><guid>http://ayende.com/2612/observations-on-learning#comment5</guid><pubDate>Mon, 02 Jul 2007 17:14:00 GMT</pubDate></item><item><title>Doug commented on Observations on Learning</title><description>You learn by example.  I learned ANTLR by studying (and in some cases modifying) the parsers for boo and groovy, for example.  Those, along with the antlr grammar for ruby someone made, are probably the most complex examples out there though.
  
  
Plus it helps to have a good understanding of how regex works, too, before diving into EBNF.
  
  
p.s. There's a big argument over on the antlr list now about the lack of documentation :)
  
</description><link>http://ayende.com/2612/observations-on-learning#comment4</link><guid>http://ayende.com/2612/observations-on-learning#comment4</guid><pubDate>Mon, 02 Jul 2007 16:12:14 GMT</pubDate></item><item><title>Luke Breuer commented on Observations on Learning</title><description>I need to dive into parsing sometime in the near future.  I would like to create a fairly complete parser for TSQL (2000 and 2005), for a few reasons.  One, renaming without fear of breaking stuff would be possible.  Two, this would allow me to make a neat little editor with intellisense.  Three, I would be able to ensure that fields read/used as criteria are populated first, which would be useful for a particularly complicated import/analysis process.
  
  
The above, especially the editor part, requires two extra features: 1) ability to parse realtime, not-necessarily-correct code and 2) ability to get better error messages than SQL Server typically reports.  Ayende, I guess this isn't really your thing, as you live in the hygenic world of NHibernate, but if you or any others reading this have any tips for me, I'd appreciate it.
</description><link>http://ayende.com/2612/observations-on-learning#comment3</link><guid>http://ayende.com/2612/observations-on-learning#comment3</guid><pubDate>Mon, 02 Jul 2007 15:18:35 GMT</pubDate></item><item><title>Frans Bouma commented on Observations on Learning</title><description>ANTLR is about LR(n) parsers. These are the hardest part of compiler writing. What I've read about ANTLR's docs doesn't really convince me that it teaches the backgrounds/basics properly. 
  
  
I therefore suggest you pick up a copy of 'Compilers' by Aho, Sethi and Ulmann:
  
http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools
  
  
It's THE book on compilers. It's kind of deep, but IMHO you won't get the core basics without this deep knowledge. 
  
  
If you want the sourcecode of my own implementation of their LR(n) parser generator (it's in C# but uses hungarian coding style hehe, it's from 2002), drop me a line. 
</description><link>http://ayende.com/2612/observations-on-learning#comment2</link><guid>http://ayende.com/2612/observations-on-learning#comment2</guid><pubDate>Sun, 01 Jul 2007 10:28:15 GMT</pubDate></item><item><title>Harris commented on Observations on Learning</title><description>(maybe a little long for a comment, but...)
  
  
I had a couple similar experiences going through college myself.  One of which was pointers, but I seemed to overcome that obstacle and managed not having to retake that introductory class on that topic.
  
  
Similarly, I struggled tremendously with the topic you are referring to; the university I attended had a mandatory course in "regular and context free grammars and languages, computational logic, finite state machines, and parsing", which loosely translates into the inner workings and knowledge of compilers and languages.  Basically, a 50,000-foot view of ANTLR.
  
  
Aside from the professor being HORRIBLE, I ended up having to retake the class and only received a high enough grade -- the second time around -- to allow me to graduate.
  
  
It sounds, ironically, that you and I are close to the same level of understanding on this material;  EBNF is becoming more familiar to me - granted, 4 years later - and I'm completely amazed and surprised by the fact that I'm: 1.) actually attempting to apply something from my undergraduate studies that I thought I would **never** would see again; 2.) really, really interested in the technology and how it can be used; and 3.) feeling pretty good about what's been accomplished thus far...
  
  
 - Harris
</description><link>http://ayende.com/2612/observations-on-learning#comment1</link><guid>http://ayende.com/2612/observations-on-learning#comment1</guid><pubDate>Sun, 01 Jul 2007 04:04:49 GMT</pubDate></item></channel></rss>