Index: /trunk/t3d/src/org/etsi/t3d/T3D.java
===================================================================
--- /trunk/t3d/src/org/etsi/t3d/T3D.java	(revision 53)
+++ /trunk/t3d/src/org/etsi/t3d/T3D.java	(revision 54)
@@ -194,8 +194,14 @@
 					String exceptionMessage = "Error while parsing file "
 						+ analyzer.getFilename(); 
+
 					for (int i1 = 0; i1 < analyzer.getExceptions().size(); i1++) {
 						String className = analyzer.getExceptions().get(i1).getStackTrace()[0].getClassName();
 						String methodName = analyzer.getExceptions().get(i1).getStackTrace()[0].getMethodName();
-						exceptionMessage+="\n  "+className.substring(className.lastIndexOf(".")+1)+" : "+methodName;
+						//moved from below, migrate to t3d as well
+						String lineMessage = "Line "
+								+ analyzer.getExceptions().get(i1).getLine()
+								+ ": "
+								+ analyzer.getExceptions().get(i1).getMessage();
+						exceptionMessage+="\n  "+className.substring(className.lastIndexOf(".")+1)+" : "+methodName +"\n    "+lineMessage;
 					}
 
@@ -211,13 +217,4 @@
 						} catch (TTCN3ParserException e) {
 							System.err.println(e.getLocalizedMessage());
-							for (int i1 = 0; i1 < analyzer.getExceptions()
-									.size(); i1++) {
-								System.err.println("Line "
-										+ analyzer.getExceptions().get(i1)
-												.getLine()
-										+ ": "
-										+ analyzer.getExceptions().get(i1)
-												.getMessage());
-							}
 							// e.printStackTrace();
 						}
@@ -314,12 +311,25 @@
 			// parsing error
 			System.err.println(e.getLocalizedMessage());
-			for (int i = 0; i < analyzer.getExceptions().size(); i++) {
-				System.err.println("Line "
-						+ analyzer.getExceptions().get(i).getLine() + ": "
-						+ analyzer.getExceptions().get(i).getMessage());
-			}
 			// TODO: Isolate different steps and implement a recovery mechanism:
 
 		}
+		//TODO: move to common, use in T3D as well
+		if (getLogLevel().equals(LogLevel.DEBUG)) {
+			int mb = 1024*1024;
+			Runtime.getRuntime().maxMemory();
+			Runtime runtime = Runtime.getRuntime();
+			System.out.println();
+			System.out.println("============Memory statistics:===========");
+			// Print used memory
+			System.out.println("Used Memory:\t"
+					+ (runtime.totalMemory() - runtime.freeMemory()) / mb+" MB");
+			// Print free memory
+			System.out.println("Free Memory:\t" + runtime.freeMemory() / mb+" MB");
+			// Print total available memory
+			System.out.println("Total Memory:\t" + runtime.totalMemory() / mb+" MB");
+			// Print maximum available memory
+			System.out.println("Max Memory:\t" + runtime.maxMemory() / mb+" MB");
+		}
+
 	}
 
