1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruvernamespace Antlr.Runtime.Debug 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver using System; 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver using System.Collections.Generic; 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver using System.Linq; 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver using System.Text; 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver using IOException = System.IO.IOException; 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver using Antlr.Runtime.Tree; 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public class ParserDebugger 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver IDebugEventListener dbg; 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public ParserDebugger( Parser parser ) 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver : this( parser, DebugEventSocketProxy.DEFAULT_DEBUGGER_PORT ) 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public ParserDebugger( Parser parser, int port ) 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver DebugEventSocketProxy proxy = new DebugEventSocketProxy( parser, port, null ); 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver DebugListener = proxy; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver parser.TokenStream = new DebugTokenStream( parser.TokenStream, proxy ); 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver try 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver proxy.handshake(); 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver catch ( IOException e ) 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver reportError( ioe ); 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ITreeAdaptor adap = new CommonTreeAdaptor(); 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TreeAdaptor = adap; 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver proxy.TreeAdaptor = adap; 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public ParserDebugger( Parser parser, IDebugEventListener dbg ) 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ITreeAdaptor adap = new CommonTreeAdaptor(); 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver TreeAdaptor = adap; 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver protected virtual bool EvalPredicate( bool result, string predicate ) 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver dbg.SemanticPredicate( result, predicate ); 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return result; 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 50