示例#1
0
        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);
            }
        }
示例#2
0
文件: Problem.cs 项目: fangld/EDGolog
        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);
            }
        }
示例#3
0
 public override void EnterInit(PlanningParser.InitContext context)
 {
     Problem.BuildTruePredicateSet(context);
 }
示例#4
0
 /// <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)
 {
 }