1 package edu.uci.eecs.specCompiler.specExtraction;
3 import java.util.ArrayList;
5 import edu.uci.eecs.specCompiler.codeGenerator.SemanticsChecker;
6 import edu.uci.eecs.specCompiler.grammerParser.ParseException;
7 import edu.uci.eecs.specCompiler.grammerParser.SpecParser;
9 public class ParserUtils {
10 public static String trimSpace(String line) {
13 for (i = 0; i < line.length(); i++) {
15 if (ch != ' ' && ch != '\t')
18 for (j = line.length() - 1; j >= 0; j--) {
20 if (ch != ' ' && ch != '\t')
26 return line.substring(i, j + 1);
29 public static String array2Str(ArrayList code) {
30 StringBuilder sb = new StringBuilder();
31 for (int i = 0; i < code.size(); i++) {
32 sb.append(code.get(i) + "\n");
37 public static String getClassName(String classDefineLine) {
38 IDExtractor extractor = new IDExtractor(classDefineLine,
39 classDefineLine.length() - 1);
40 return extractor.getPrevID();
43 public static String getTemplateStr(String templateLine) {
44 String templateStr = null;
46 ArrayList<String> args = SpecParser.getTemplateArg(templateLine);
47 templateStr = "<" + args.get(1);
48 for (int i = 1; i < args.size() / 2; i++) {
49 templateStr = templateStr + ", " + args.get(i * 2 + 1);
51 templateStr = templateStr + ">";
52 } catch (ParseException e) {