From Matt Howitt Date: Mon, 27 Apr 1998 18:52:10 -0700 (PDT) > > 1. Please provide a short description of JTB as a recommendation to > someone who has never seen or used it before. > For a novice at lexical analyzers and parser generators, I found JTB immediately obvious and easy to use. Using a user defined grammar not only does it generate the input JavaCC needs, but also a set of template methods which traverse the parse tree. These methods can then be easily extended for the desired implementation. > 2. How would you classify your use of JTB? What kind of work are you > doing or have you done using JTB? > We have a "Pulse Sequence" language for our instrument, an NMR Spectrometer, which allows a user to program pulses, delays and acquisitions in any order they wish to perform experiments on our instrument. As described in your overview, we use JTB as a front end syntax tree builder for JavaCC in order to generate a parse tree for our language. Currently this is just prototype software. > 3. What is your opinion on JTB? Did you find the tool useful? Please > rate it on a scale from 1 to 10 (worst to best). > I found JTB easy to understand, easy to implement, very useful and have not had any problems with it. I would rate it a 10. > 4. Have you used other similar tools such as JJTree or ANTLR (specifically, > the tree-building aspect of it)? > I looked at JJTree just before I found out about JTB. > 5. If you answered yes to number 4, how would you compare JTB with > these other tools? Again, please rate it from 1 to 10 in comparison and > include anything you have to say, including comments on ease of use, > learning curve, etc. > I don't have much experience with lexical analyzers and parser generators. I found JJTree difficult to understand how to use it in a systematic way. That was not true with JTB. It was almost immediately obvious on how to use it. Having a Visitor superclass and a default method for each node makes it especially easy to use and understand. I would again rate it a 10. > 6. Please include below any other comments you have regarding JTB. Feel > free to include any suggestions for improvement. > I like very much the "Visitor" pattern implementation in JTB. I had been reading "Design Patterns" and trying to figure out the best way to implement the Visitor pattern for a parse tree, and here it was done in JTB. Matt