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); } }
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); }
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);