Пример #1
0
    // Interpretation:

    [AgRule("FindActive", "Element")] static Ast ElementFindActive(Ast n, string name)
    {
        var current = n.GLookup(name);

        while (!current.IsActive())
        {
            current = current.GLookup(name);
        }
        return(current);
    }
Пример #2
0
    [AgRule("IsLValid", "Question")] static bool QuestionIsLValid(Ast n)
    {
        if (n.Type() == Types.ErrorType)
        {
            return(false);
        }
        var prev = n.GLookup(n.GetName());

        return(prev.IsErrorQuestion() || n.Type() == prev.Type());
    }
Пример #3
0
    static Racr.AstNode ElementFindActive(Racr.AstNode n, string name)
    {
        var current = n.GLookup(name);

        while (!current.IsActive())
        {
            current = current.GLookup(name);
        }
        return(current);
    }
Пример #4
0
    static bool QuestionIsLValid(Racr.AstNode n)
    {
        if (n.Type() == ValueTypes.ErrorType)
        {
            return(false);
        }
        var prev = n.GLookup(n.GetName());

        return(prev.IsErrorQuestion() || n.Type() == prev.Type());
    }
Пример #5
0
 [AgRule("Type", "Use")] static Types UseType(Ast n)
 {
     return(n.GLookup(n.GetName()).Type());
 }
Пример #6
0
 static ValueTypes UseType(Racr.AstNode n)
 {
     return(n.GLookup(n.GetName()).Type());
 }