Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
 /// <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);
 }
Ejemplo n.º 5
0
 /// <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);
 }
Ejemplo n.º 6
0
 /// <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);
 }
Ejemplo n.º 7
0
 /// <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);
 }
Ejemplo n.º 8
0
 /// <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);
 }
Ejemplo n.º 9
0
 /// <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);
 }
Ejemplo n.º 10
0
 /// <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);
 }