示例#1
0
        private void Loop()
        {
            AST_LoopNode loopNode = CurrentNode as AST_LoopNode;

            Debug.Assert(loopNode != null);
            PushNewScope(loopNode.getScope(), "Loop_memorySpace" + loopCounter++, loopNode.getChild(0));
        }
示例#2
0
        private void evaluateReferencesForLOOP(AST tree)
        {
            AST_LoopNode loopBlockNode = tree as AST_LoopNode;

            m_currentScope = loopBlockNode.getScope();

            #if WRITE_DEBUG_INFO
            Console.WriteLine("\n Trying to resolve body of loop");
            #endif

            evaluateReferencesInAllChildren(tree);

            m_currentScope = m_currentScope.getEnclosingScope(); // pop scope
        }
示例#3
0
        private void Loop()
        {
            AST_LoopNode loopNode = CurrentNode as AST_LoopNode;

                        #if DEBUG
            Debug.Assert(loopNode != null);
                        #endif

//			Console.WriteLine("At Loop node with scope " + loopNode.getScope().getName());
//			Console.WriteLine("Memory spaces: ");
//			foreach(var mem in loopNode.getScope().memorySpaces) {
//				Console.WriteLine(mem.getName());
//			}

            PushNewScope(loopNode.getScope(), "Loop_memorySpace_" + loopCounter++, loopNode.getChild(0));
        }