public override object VisitAnswer_set(DLV2Parser.Answer_setContext context) { answerSets.AddAnswerSet(); if (context.cost() != null && !context.cost().IsEmpty) { costs = new Dictionary <int, int>(); string[] FirstCost = context.cost().COST_LABEL().GetText().Split(' ')[1].Split('@'); costs[Int32.Parse(FirstCost[1])] = Int32.Parse(FirstCost[0]); } if (costs != null) { foreach (KeyValuePair <int, int> entry in costs) { answerSets.StoreCost(entry.Key, entry.Value); } } return(VisitChildren(context)); }
public override object VisitModel(ClingoParser.ModelContext context) { string cost = context.NEW_LINE().GetText().Trim(); if (cost.Length > 1) { string[] tokens = cost.Split(' '); int levels = tokens.Length - 1; for (int i = 1; i < tokens.Length; i++) { answerSets.StoreCost(levels--, Int32.Parse(tokens[i])); } } return(VisitChildren(context)); }
public override object VisitLevel(DLVHEXParser.LevelContext context) { answerSets.StoreCost(Int32.Parse(context.INTEGER()[1].GetText()), Int32.Parse(context.INTEGER()[0].GetText())); return(null); }
public override object VisitCost_level(DLVParser.Cost_levelContext context) { answerSets.StoreCost(Int32.Parse(context.INTEGER_CONSTANT()[1].GetText()), Int32.Parse(context.INTEGER_CONSTANT()[0].GetText())); return(null); }