public void NewScopeAndRender(ILexerableNode node)
        {
            var scope = Lexer.NewScope(node);

            AddOperation(new Op_RenderScope()
            {
                Scope = scope
            });;
        }
        public LexerScope NewScope(ILexerableNode node)
        {
            Guid guid = Guid.NewGuid();

            LexerScope lexerScope = new LexerScope(node, this, guid);

            Scopes.Add(node, lexerScope);
            ScopeLookup.Add(guid, lexerScope);

            return(lexerScope);
        }
 public LexerScope(ILexerableNode node, Lexer lexer, Guid guid)
 {
     Lexer       = lexer;
     Guid        = guid;
     currentNode = node;
 }