package com.plectix.simulator.parser.util; import java.util.List; import com.plectix.simulator.parser.KappaFileLine; import com.plectix.simulator.parser.ParseErrorException; import com.plectix.simulator.parser.ParseErrorMessage; public final class ParserUtil { public static final void checkString(String stringToFind, String line, KappaFileLine kappaFileLine) throws ParseErrorException { int index = line.indexOf(stringToFind); if (index == -1) { String quote = "'"; if ("'".equals(stringToFind)) { quote = "\""; } throw new ParseErrorException(kappaFileLine, quote + stringToFind + quote + " expected : " + line + ""); } } public static final String parseRuleName(String line) throws ParseErrorException { // Example: "abc']..." String name = null; int index = line.indexOf("'"); if (index != -1) { name = line.substring(0, line.indexOf("'")); } else { throw new ParseErrorException(ParseErrorMessage.UNEXPECTED_RULE_NAME); } return name; } public static final <E> String listToString(List<E> list) { return listToString(list, ", "); } public static final <E> String listToString(List<E> list, String separator) { StringBuffer sb = new StringBuffer(); boolean first = true; for (E element : list) { if (first) { first = false; } else { sb.append(separator); } sb.append(element); } return sb.toString(); } }