/// <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) { Operator = EnumMapper.ToNumericOperator(treeNode.GetChildString(0)); Arguments = new List <TermOrNumericAstNode>(); var arg1 = treeNode.GetChildAst <TermOrNumericAstNode>(1); var arg2 = treeNode.GetChildAst <TermOrNumericAstNode>(2); if (arg1 != null) { Arguments.Add(arg1); } if (arg2 != null) { Arguments.Add(arg2); } else { // multi-ary operation var arg2List = treeNode.GetChildAstList <TermOrNumericAstNode>(2); if (arg2List != null) { Arguments.AddRange(arg2List); } } if (Arguments.Count == 0) { Arguments = null; } }
/// <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) { Arguments = treeNode.GetChildAstList <CEffectAstNode>(1); }
/// <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) { Arguments = treeNode.GetChildAstList <SimpleDurationConstraintAstNode>(1); }
/// <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) { DomainName = treeNode.GetChildString(2); DomainSections = treeNode.GetChildAstList <DomainSectionAstNode>(3); }
/// <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) { PredicatesList = treeNode.GetChildAstList <PredicateSkeletonAstNode>(1); }
/// <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(0); Terms = treeNode.GetChildAstList <TermAstNode>(1); }
/// <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) { ProblemName = treeNode.GetGrandChildString(1, 1); CorrespondingDomainName = treeNode.GetGrandChildString(2, 1); ProblemSections = treeNode.GetChildAstList <ProblemSectionAstNode>(3); }
/// <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) { InitElemList = treeNode.GetChildAstList <InitElemAstNode>(1); }