package net.sourceforge.phpdt.sql.sql; import java.util.Vector; import net.sourceforge.phpdt.sql.sql.parser.SQLLexx; import net.sourceforge.phpdt.sql.sql.parser.Token; public class SQLParser { public static final String COMMENT = "--"; //$NON-NLS-1$ public static final String ENDLINE = ";"; //$NON-NLS-1$ public static Vector parse(String query) { Vector commands = new Vector(); try { //System.out.println("-------------------1"); Vector tokens = SQLLexx.parse(query); //System.out.println("-------------------2"); StringBuffer buffer = new StringBuffer(); for (int i = 0; i < tokens.size(); i++) { //System.out.println("-------------------3"); Token t = (Token) tokens.elementAt(i); if (t.getType() == Token.COMMENT) { // ignore comments } else if (t.getType() == Token.SEPARATOR) { String newCommand = buffer.toString().trim(); if (!newCommand.equals("")) { //$NON-NLS-1$ commands.addElement(newCommand); } buffer = new StringBuffer(); } else { buffer.append(t.getValue()); } } String newCommand = buffer.toString().trim(); if (!newCommand.equals("")) { //$NON-NLS-1$ commands.addElement(newCommand); } } catch (Throwable e) { e.printStackTrace(); } System.out.println("Returning"); //$NON-NLS-1$ return commands; } }