/// <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); }
/// <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; }
public virtual void Visit(ProblemAstNode node) { }