/// <summary> /// Converts the given GD into a expression. /// </summary> /// <param name="gdAstNode">AST node.</param> /// <returns>Converted expression.</returns> public static Expression ToExpression(GdAstNode gdAstNode) { ToExpressionConverter converter = new ToExpressionConverter(); converter.Evaluate(gdAstNode); return(converter.ExpressionData); }
/// <summary> /// Converts the given GD into preconditions. A root AND-expression is split into a list of precondition expressions. /// </summary> /// <param name="gdAstNode">AST node.</param> /// <returns>Converted preconditions.</returns> public static Preconditions ToPreconditions(GdAstNode gdAstNode) { Preconditions preconditions = new Preconditions(); Expression expression = ToExpression(gdAstNode); var andExpression = expression as AndExpression; if (andExpression != null) { preconditions.AddRange(andExpression.Arguments); } else if (expression != null) { preconditions.Add(expression); } return(preconditions); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Predicate = treeNode.GetChildAst <PredicateSkeletonAstNode>(1); Expression = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Name = treeNode.GetChildString(1); Argument = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Parameters = treeNode.GetChildAst <TypedListAstNode>(1); Expression = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Argument1 = treeNode.GetChildAst <GdAstNode>(1); Argument2 = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Number = treeNode.GetChildNumberVal(1); Expression = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Expression1 = treeNode.GetChildAst <GdAstNode>(1); Expression2 = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { IntervalSpecifier = EnumMapper.ToIntervalSpecifier(treeNode.GetChildString(1)); Argument = treeNode.GetChildAst <GdAstNode>(2); }
/// <summary> /// Initialization of the AST node. Specifies conversion from parse-tree node to AST node. /// </summary> /// <param name="treeNode">Parse-tree node.</param> public override void Init(ParseTreeNode treeNode) { Condition = treeNode.GetChildAst <GdAstNode>(1); }