コード例 #1
0
ファイル: AstProblem.cs プロジェクト: PlanningFramework/PAD
 /// <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)
 {
     if (treeNode != null)
     {
         LengthSpecifications = new List <Tuple <LengthSpecifier, int> >();
         for (int i = 1; i <= 2; ++i)
         {
             var childNode = treeNode.GetMappedChildNodes().GetSafeItem(i);
             if (childNode != null)
             {
                 if (childNode.GetMappedChildNodes().Count == 0)
                 {
                     continue;
                 }
                 LengthSpecifier lengthSpecif = EnumMapper.ToLengthSpecifier(childNode.GetChildString(0));
                 int             numVal       = (int)childNode.GetChildNumberVal(1);
                 LengthSpecifications.Add(Tuple.Create(lengthSpecif, numVal));
             }
         }
         if (LengthSpecifications.Count == 0)
         {
             LengthSpecifications = null;
         }
     }
 }
コード例 #2
0
ファイル: Traits.cs プロジェクト: PlanningFramework/PAD
        /// <summary>
        /// Converts the enum to string representation.
        /// </summary>
        /// <param name="lengthSpecifier">Value to be converted.</param>
        /// <returns>String representation.</returns>
        public static string EnumToString(this LengthSpecifier lengthSpecifier)
        {
            switch (lengthSpecifier)
            {
            case LengthSpecifier.SERIAL:
                return(":serial");

            case LengthSpecifier.PARALLEL:
                return(":parallel");

            default:
                Debug.Assert(false);
                return(lengthSpecifier.ToString());
            }
        }
コード例 #3
0
ファイル: Length.cs プロジェクト: PlanningFramework/PAD
 /// <summary>
 /// String representation.
 /// </summary>
 /// <returns>String representation.</returns>
 public override string ToString()
 {
     return($"({LengthSpecifier.EnumToString()} {Parameter})");
 }
コード例 #4
0
ファイル: Length.cs プロジェクト: PlanningFramework/PAD
 /// <summary>
 /// Constructs a length specifier.
 /// </summary>
 /// <param name="lengthSpecifier">Length specifier.</param>
 /// <param name="parameter">Length parameter.</param>
 public LengthSpecElement(LengthSpecifier lengthSpecifier, int parameter)
 {
     LengthSpecifier = lengthSpecifier;
     Parameter       = parameter;
 }