Terence, You may also want to add a method to let the debugger know when the lexer has matched a Token: public void nextToken(Token token); And maybe let the debugger know about the AST that's being created: public void rootCreated(AST root); public void childAdded(AST parent, AST child); Andy