override public void initialize(IToken tok)
		{
			IHiddenStreamToken t = (IHiddenStreamToken) tok;
			base.initialize(t);
			hiddenBefore = t.getHiddenBefore();
			hiddenAfter  = t.getHiddenAfter();
		}
		private void  consumeFirst()
		{
			consume(); // get first token of input stream
			
			// Handle situation where hidden or discarded tokens
			// appear first in input stream
			IHiddenStreamToken p = null;
			// while hidden or discarded scarf tokens
			while (hideMask.member(LA(1).Type) || discardMask.member(LA(1).Type))
			{
				if (hideMask.member(LA(1).Type))
				{
					if (p == null)
					{
						p = LA(1);
					}
					else
					{
						p.setHiddenAfter(LA(1));
						LA(1).setHiddenBefore(p); // double-link
						p = LA(1);
					}
					lastHiddenToken = p;
					if (firstHidden == null)
					{
						firstHidden = p; // record hidden token if first
					}
				}
				consume();
			}
		}
Exemple #3
0
        private void  consumeFirst()
        {
            consume();             // get first token of input stream

            // Handle situation where hidden or discarded tokens
            // appear first in input stream
            IHiddenStreamToken p = null;

            // while hidden or discarded scarf tokens
            while (hideMask.member(LA(1).Type) || discardMask.member(LA(1).Type))
            {
                if (hideMask.member(LA(1).Type))
                {
                    if (p == null)
                    {
                        p = LA(1);
                    }
                    else
                    {
                        p.setHiddenAfter(LA(1));
                        LA(1).setHiddenBefore(p);                         // double-link
                        p = LA(1);
                    }
                    lastHiddenToken = p;
                    if (firstHidden == null)
                    {
                        firstHidden = p;                         // record hidden token if first
                    }
                }
                consume();
            }
        }
        override public void initialize(IToken tok)
        {
            var t = (IHiddenStreamToken)tok;

            base.initialize(t);
            hiddenBefore = t.getHiddenBefore();
            hiddenAfter  = t.getHiddenAfter();
        }
Exemple #5
0
        /*Return the next monitored token.
         *  Test the token following the monitored token.
         *  If following is another monitored token, save it
         *  for the next invocation of nextToken (like a single
         *  lookahead token) and return it then.
         *  If following is unmonitored, nondiscarded (hidden)
         *  channel token, add it to the monitored token.
         *
         *  Note: EOF must be a monitored Token.
         */
        override public IToken nextToken()
        {
            // handle an initial condition; don't want to get lookahead
            // token of this splitter until first call to nextToken
            if (LA(1) == null)
            {
                consumeFirst();
            }

            // we always consume hidden tokens after monitored, thus,
            // upon entry LA(1) is a monitored token.
            IHiddenStreamToken monitored = LA(1);

            // point to hidden tokens found during last invocation
            monitored.setHiddenBefore(lastHiddenToken);
            lastHiddenToken = null;

            // Look for hidden tokens, hook them into list emanating
            // from the monitored tokens.
            consume();
            IHiddenStreamToken p = monitored;

            // while hidden or discarded scarf tokens
            while (hideMask.member(LA(1).Type) || discardMask.member(LA(1).Type))
            {
                if (hideMask.member(LA(1).Type))
                {
                    // attach the hidden token to the monitored in a chain
                    // link forwards
                    p.setHiddenAfter(LA(1));
                    // link backwards
                    if (p != monitored)
                    {
                        //hidden cannot point to monitored tokens
                        LA(1).setHiddenBefore(p);
                    }
                    p = (lastHiddenToken = LA(1));
                }
                consume();
            }
            return(monitored);
        }
Exemple #6
0
 public virtual void resetState()
 {
     firstHidden        = null;
     lastHiddenToken    = null;
     nextMonitoredToken = null;
 }
		public virtual void  setHiddenBefore(IHiddenStreamToken t)
		{
			hiddenBefore = t;
		}
		public virtual void  setHiddenAfter(IHiddenStreamToken t)
		{
			hiddenAfter = t;
		}
Exemple #9
0
 public virtual void  setHiddenBefore(IHiddenStreamToken t)
 {
     hiddenBefore = t;
 }
Exemple #10
0
 public virtual void  setHiddenAfter(IHiddenStreamToken t)
 {
     hiddenAfter = t;
 }
		override public void initialize(collections.AST t)
		{
			hiddenBefore = ((CommonASTWithHiddenTokens) t).getHiddenBefore();
			hiddenAfter  = ((CommonASTWithHiddenTokens) t).getHiddenAfter();
			base.initialize(t);
		}
Exemple #12
0
 /*Return a ptr to the hidden token appearing immediately after
  *  token t in the input stream.
  */
 public virtual IHiddenStreamToken getHiddenAfter(IHiddenStreamToken t)
 {
     return(t.getHiddenAfter());
 }
Exemple #13
0
 protected internal virtual void  consume()
 {
     nextMonitoredToken = (IHiddenStreamToken)input.nextToken();
 }
		protected internal virtual void  consume()
		{
			nextMonitoredToken = (IHiddenStreamToken) input.nextToken();
		}
		public virtual void resetState()
		{
			firstHidden			= null;
			lastHiddenToken		= null;
			nextMonitoredToken	= null;
		}
		/*Return the next monitored token.
		*  Test the token following the monitored token.
		*  If following is another monitored token, save it
		*  for the next invocation of nextToken (like a single
		*  lookahead token) and return it then.
		*  If following is unmonitored, nondiscarded (hidden)
		*  channel token, add it to the monitored token.
		*
		*  Note: EOF must be a monitored Token.
		*/
		override public IToken nextToken()
		{
			// handle an initial condition; don't want to get lookahead
			// token of this splitter until first call to nextToken
			if (LA(1) == null)
			{
				consumeFirst();
			}
			
			// we always consume hidden tokens after monitored, thus,
			// upon entry LA(1) is a monitored token.
			IHiddenStreamToken monitored = LA(1);
			// point to hidden tokens found during last invocation
			monitored.setHiddenBefore(lastHiddenToken);
			lastHiddenToken = null;
			
			// Look for hidden tokens, hook them into list emanating
			// from the monitored tokens.
			consume();
			IHiddenStreamToken p = monitored;
			// while hidden or discarded scarf tokens
			while (hideMask.member(LA(1).Type) || discardMask.member(LA(1).Type))
			{
				if (hideMask.member(LA(1).Type))
				{
					// attach the hidden token to the monitored in a chain
					// link forwards
					p.setHiddenAfter(LA(1));
					// link backwards
					if (p != monitored)
					{
						//hidden cannot point to monitored tokens
						LA(1).setHiddenBefore(p);
					}
					p = (lastHiddenToken = LA(1));
				}
				consume();
			}
			return monitored;
		}
 override public void initialize(collections.AST t)
 {
     hiddenBefore = ((CommonASTWithHiddenTokens)t).getHiddenBefore();
     hiddenAfter  = ((CommonASTWithHiddenTokens)t).getHiddenAfter();
     base.initialize(t);
 }
 protected CommonASTWithHiddenTokens(CommonASTWithHiddenTokens another) : base(another)
 {
     hiddenBefore = another.hiddenBefore;
     hiddenAfter  = another.hiddenAfter;
 }
		/*Return a ptr to the hidden token appearing immediately after
		*  token t in the input stream.
		*/
		public virtual IHiddenStreamToken getHiddenAfter(IHiddenStreamToken t)
		{
			return t.getHiddenAfter();
		}
		/*Return a ptr to the hidden token appearing immediately before
		*  token t in the input stream.
		*/
		public virtual IHiddenStreamToken getHiddenBefore(IHiddenStreamToken t)
		{
			return t.getHiddenBefore();
		}
Exemple #21
0
 /*Return a ptr to the hidden token appearing immediately before
  *  token t in the input stream.
  */
 public virtual IHiddenStreamToken getHiddenBefore(IHiddenStreamToken t)
 {
     return(t.getHiddenBefore());
 }
		protected CommonASTWithHiddenTokens(CommonASTWithHiddenTokens another) : base(another)
		{
			hiddenBefore	= another.hiddenBefore;
			hiddenAfter	= another.hiddenAfter;
		}