package warnings; import java.util.ArrayList; import parser.ASTatom; public class WarningRuleCreator { public static ArrayList<String> createWarningRules(String originalRule, int lineNumber, int columnNumber, ArrayList<ASTatom> bodySortAtoms) { String ruleId = "\"" + originalRule + " ( line: " + lineNumber + ", column: " + columnNumber + ")\""; StringBuilder rule1 = new StringBuilder("has_grounding(" + ruleId + ")"); if(bodySortAtoms.size()>0) { rule1.append( ":-"); } for (int i = 0; i < bodySortAtoms.size(); i++) { if (i != 0) rule1.append(","); rule1.append(bodySortAtoms.get(i).toString()); } rule1.append("."); String rule2 = "warning(" + ruleId + "):- not has_grounding(" + ruleId + ")."; ArrayList<String> warningRules = new ArrayList<String>(); warningRules.add(rule1.toString()); warningRules.add(rule2); return warningRules; } }