public static void Main(string[] args) { FileInfo file = null; List <string> argList = new List <string>(args); int index = argList.IndexOf("/f"); if (index != -1 && args.Length > index + 1) { file = new FileInfo(args[index + 1]); } TGSqlParser sqlparser; if (file != null) { sqlparser = new TGSqlParser(Common.GetEDbVendor(args)); sqlparser.sqlfilename = file.FullName; } else { sqlparser = new TGSqlParser(EDbVendor.dbvoracle); sqlparser.sqltext = "select col1, col2,sum(col3) from table1, table2 where col4 > col5 and col6= 1000 or c1 = 1 and not sal"; } int ret = sqlparser.parse(); if (ret == 0) { TCustomSqlStatement select = sqlparser.sqlstatements.get(0); if (select.WhereClause != null) { TExpression expr = select.WhereClause.Condition; Console.WriteLine("pre order"); expr.preOrderTraverse(new exprVisitor()); Console.WriteLine("\nin order"); expr.inOrderTraverse(new exprVisitor()); Console.WriteLine("\npost order"); expr.postOrderTraverse(new exprVisitor()); expr.postOrderTraverse(new exprVisitor()); } } else { Console.WriteLine(sqlparser.Errormessage); } }