Jeffrey Overbey talked about building refactoring tools using the LTK and his research work “Ludwig”.
I guess you all agree with me that refactoring support is crucial for any programing language, as you need to restructure your code rom time to time.
Jeff’s research tool Ludwig can help to derive refactoring support from a BNF-style grammar very easily. Ludwig essentially derives a lexer/parser from the grammar and provides an interface to the AST which gets constructed by the parser. Which gives you the chance to walk / visit the AST and (partially) rewrite the AST.
I really enjoyed Jeff’s presentation style. He used a set of slides and pre-recorded screenvideos to drive his talk. I think this is great idea, as it basically eliminates any problems you might run into if you do a live demo. Plus, it gives the presenter the chance to face the audience while demoing, instead of mumbling into the screen :–)