コード例 #1
0
 internal override void Check()
 {
     // Number of children fits required number of args
     TreeAnalyzer.AssertTree(Children.Count == SyntaxInfo.GetFuncArg(Name), "Wrong number of children");
     // Checks whether the function exist
     TreeAnalyzer.AssertTree(Const.IsReservedName(Name), "Unknown function");
 }
コード例 #2
0
 internal override void Check()
 {
     // Var has no children
     TreeAnalyzer.AssertTree(Children.Count == 0, "A variable cannot have children");
     // Reserved word (e. g. "sumf") can't be a var's name
     TreeAnalyzer.AssertTree(!Const.IsReservedName(Name), "`" + Name + "` is a reserved word");
 }
コード例 #3
0
 internal override void Check()
 {
     // Only binary operators are available so far
     TreeAnalyzer.AssertTree(Children.Count == 2, "Wrong number of children");
     // If operator exists
     TreeAnalyzer.AssertTree(Const.IsReservedName(Name), "Unknown operator");
     // Detect division by 0
     TreeAnalyzer.AssertTree(Name != "divf" || Children[1] != 0, "Division by zero");
 }
コード例 #4
0
        internal override void Check()
        {
            // Can't have other name
            TreeAnalyzer.AssertTree(Name == "tensort", "Tensors must have Name=tensort");
            // Tensor can't be scalar
            TreeAnalyzer.AssertTree(Dimensions > 0, "Dimensions can't be equal to 0");

            // All elements are not null
            for (int i = 0; i < Data.Length; i++)
            {
                TreeAnalyzer.AssertTree(Data[i] != null, "One tensor's element is null");
            }
        }
コード例 #5
0
 internal override void Check()
 {
     // Number has no children
     TreeAnalyzer.AssertTree(Children.Count == 0, "A number cannot have children");
 }