public override void Visit(PushQueryNode node)
 {
     // TODO: Check if a its a variable that is being added or a constant
     SymbolTable.SetCurrentNode(node);
     if (CheckDeclared(node.VariableCollection))
     {
         node.VariableToAdd.Accept(this);
     }
 }
Exemple #2
0
        public override AbstractNode VisitPushOP([NotNull] GiraphParser.PushOPContext context)
        {
            PushQueryNode PushNode = new PushQueryNode(context.Start.Line, context.Start.Column);
            var           output   = Visit(context.boolCompOrExp());

            PushNode.VariableToAdd      = output;
            PushNode.VariableCollection = context.variable().GetText();
            return(PushNode);
        }
Exemple #3
0
        public override void Visit(PushQueryNode node)
        {
            _symbolTable.SetCurrentNode(node);
            checkCollectionFollowsCollection(node.VariableCollection);
            AllType?collectionToAddTo = _symbolTable.RetrieveSymbol(node.VariableCollection, out bool isCollectionInQuery, false);

            node.Type = collectionToAddTo.ToString().ToLower();
            node.VariableToAdd.Accept(this);
            CheckAllowedCast(node.Type_enum, node.VariableToAdd.Type_enum);
        }
 public override void Visit(PushQueryNode node)
 {
     Debug.Print("PushNode");
     ProgramCode.Append($"PUSH {node.VariableToAdd} TO {node.VariableCollection}");
     ProgramCode.Append(");\n");
 }
 public abstract void Visit(PushQueryNode node);