public static IParsingTreeTerminal FindLastTerminal(IParsingTreeNode node) { var visitor = new LastTerminalSearcher(); node.Visit(visitor); return(visitor.Result); }
static Location?GetToLocation(this IParsingTreeNode node) { var t = LastTerminalSearcher.FindLastTerminal(node); return(t == null ? null : (Location?)t.To); }