Map<String, String> valueMap = parseValues(line);
for (String key : valueMap.keySet()) {
String value = valueMap.get(key);
System.out.format("%s -> %s\n", key, value);
}
Symbol symbol = new Symbol(name);
if (valueMap.containsKey("input")) {
symbol.setInput(valueMap.get("input"));
}
if (valueMap.containsKey("tag")) {
symbol.setTag(valueMap.get("tag"));
}
if (valueMap.containsKey("space")) {
symbol.setSpace(valueMap.get("space"));
}
if (valueMap.containsKey("output")) {
symbol.setOutput(valueMap.get("output"));
}
symbol.setDefinition("TRUE".equals(valueMap.get("definition")));
symbol.setUnderover("TRUE".equals(valueMap.get("underover")));
symbol.setUnary("TRUE".equals(valueMap.get("unary")));
symbol.setFunc("TRUE".equals(valueMap.get("func")));
symbol.setAcc("TRUE".equals(valueMap.get("acc")));
symbol.setBinary("TRUE".equals(valueMap.get("binary")));
symbol.setInfix("TRUE".equals(valueMap.get("infix")));
symbol.setLeftBracket("TRUE".equals(valueMap.get("left_bracket")));
symbol
.setRightBracket("TRUE".equals(valueMap
.get("right_bracket")));
symbol.setInvisible("TRUE".equals(valueMap.get("invisible")));
symbols.add(symbol);
System.out.println(symbol);
}
in.close();
for (Symbol symbol : symbols) {
out.format("new Symbol(\"%s\", %s, %s, %s, %s, ", symbol.getName(),
symbol.getInput(), symbol.getTag(), symbol.getOutput(),
symbol.getSpace());
out.format("%b, %b, %b, %b, ", symbol.isDefinition(), symbol
.isUnderover(), symbol.isUnary(), symbol.isFunc());
out.format("%b, %b, %b, %b, %b, %b, -1", symbol.isAcc(), symbol
.isBinary(), symbol.isInfix(), symbol.isRightBracket(),
symbol.isLeftBracket(), symbol.isInvisible());
out.println("),");
}
out.close();
}