示例#1
0
        /// <summary>
        /// Converts the given problem AST into a root problem structure.
        /// </summary>
        /// <param name="domainContext">Corresponding domain context.</param>
        /// <param name="problemAstNode">AST node.</param>
        /// <returns>Converted problem.</returns>
        public static Problem ToProblem(Domain domainContext, ProblemAstNode problemAstNode)
        {
            ToProblemConverter visitor = new ToProblemConverter();

            SetDomainEvaluationContext(domainContext);
            visitor.Evaluate(problemAstNode);
            ClearDomainEvaluationContext();
            return(visitor.ProblemData);
        }
示例#2
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(ProblemAstNode astNode)
 {
     ProblemData.Name       = astNode.ProblemName;
     ProblemData.DomainName = astNode.CorrespondingDomainName;
 }
示例#3
0
 public virtual void Visit(ProblemAstNode node)
 {
 }