private void HandleInit(PlanningParser.InitContext context) { TruePredSet = new HashSet <string>(); foreach (var atomForm in context.constTermAtomForm()) { var constTermContexts = atomForm.constTerm(); int count = constTermContexts.Count; string[] termArray = new string[count]; Parallel.For(0, count, i => termArray[i] = constTermContexts[i].GetText()); string predicateFullname = ConstContainer.GetFullName(atomForm.predicate().GetText(), termArray); TruePredSet.Add(predicateFullname); } }
internal void BuildTruePredicateSet(PlanningParser.InitContext context) { foreach (var atomicFormula in context.atomicFormulaName()) { var nameNodes = atomicFormula.NAME(); List <string> termList = new List <string>(); foreach (var nameNode in nameNodes) { termList.Add(nameNode.GetText()); } string gndPredName = VariableContainer.GetFullName(atomicFormula.predicate().GetText(), termList); TruePredSet.Add(gndPredName); } }
public override void EnterInit(PlanningParser.InitContext context) { Problem.BuildTruePredicateSet(context); }
/// <summary> /// Exit a parse tree produced by <see cref="PlanningParser.init"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitInit([NotNull] PlanningParser.InitContext context) { }