Exemple #1
0
 public IToken nextToken() {
   fCurrentOffset += fCurrentLength;
   if (fLexerToken == null) {
     fLexerToken = fLexer.next();
   }
   fCurrentLength = fLexer.getOffset() - fCurrentOffset;
   if (fCurrentLength != 0) {
     return fDefaultToken;
   }
   fCurrentLength = fLexer.getLength();
   return getTokenFromScannerToken();
 }
Exemple #2
0
 @Override
 public void setRange(final IDocument document, final int offset, final int length) {
   super.setRange(document, offset, length);
   fCurrentOffset = offset;
   fCurrentLength = 0;
   fLexer.reset(this);
 }
Exemple #3
0
 protected IToken getTokenFromScannerToken() {
   IToken token;
   if (fLexerToken == RTerminal.SYMBOL) {
     final String text = fLexer.getText();
     if (text != null) {
       token = fSpecialSymbols.get(text);
       if (token != null) {
         fLexerToken = null;
         return token;
       }
     }
     fLexerToken = null;
     return fDefaultToken;
   }
   token = fTokens.get(fLexerToken);
   fLexerToken = null;
   return token;
 }