if (isVarDec(keywordName)) { // The first is type declaration booleantag=false; for (String s : type) { if (line.indexOf(s) == 0) { tag = true; writer.write(keywordVal(s)); writer.newLine(); token.add("keyword"); tokenLine.add(keywordVal(s)); stringCollection.add(s); line = line.substring(s.length()); break; } }
if (!tag) { for (String s : className) { if (line.indexOf(s) == 0) { writer.write(identifierVal(s)); writer.newLine(); token.add("identifier"); tokenLine.add(identifierVal(s)); stringCollection.add(s); line = line.substring(s.length()); break; } } }
// Then comes the varName String varName;
if (line.contains(",") && line.indexOf(",") < line.indexOf(";")) { varName = line.substring(0, line.indexOf(",")); writer.write(identifierVal(varName)); writer.newLine(); token.add("identifier"); tokenLine.add(identifierVal(varName)); stringCollection.add(varName); line = line.substring(varName.length());
// We need to consider if there exists a ',' while (line.charAt(0) == ',') { writer.write(identifierVal(",")); writer.newLine(); token.add("identifier"); tokenLine.add(identifierVal(",")); stringCollection.add(","); line = line.substring(1);
if (isSubroutineDec(keywordName)) { booleantag=false; for (String s : type) { if (line.indexOf(s) == 0) { tag = true; writer.write(keywordVal(s)); writer.newLine(); token.add("keyword"); tokenLine.add(keywordVal(s)); stringCollection.add(s); line = line.substring(s.length()); break; } }
if (!tag) { for (String s : className) { if (line.indexOf(s) == 0) { writer.write(identifierVal(s)); writer.newLine(); token.add("identifier"); tokenLine.add(identifierVal(s)); stringCollection.add(s); line = line.substring(s.length()); break; } } }