Package org.hibernate.hql.internal.antlr

Source Code of org.hibernate.hql.internal.antlr.SqlStatementLexer

// $ANTLR 2.7.7 (20060906): "sql-stmt.g" -> "SqlStatementLexer.java"$

package org.hibernate.hql.internal.antlr;

import java.util.Iterator;
import java.util.List;
import java.util.LinkedList;

import org.hibernate.hql.internal.ast.ErrorReporter;

import java.io.InputStream;
import antlr.TokenStreamException;
import antlr.TokenStreamIOException;
import antlr.TokenStreamRecognitionException;
import antlr.CharStreamException;
import antlr.CharStreamIOException;
import antlr.ANTLRException;
import java.io.Reader;
import java.util.Hashtable;
import antlr.CharScanner;
import antlr.InputBuffer;
import antlr.ByteBuffer;
import antlr.CharBuffer;
import antlr.Token;
import antlr.CommonToken;
import antlr.RecognitionException;
import antlr.NoViableAltForCharException;
import antlr.MismatchedCharException;
import antlr.TokenStream;
import antlr.ANTLRHashString;
import antlr.LexerSharedInputState;
import antlr.collections.impl.BitSet;
import antlr.SemanticException;

public class SqlStatementLexer extends antlr.CharScanner implements SqlStatementParserTokenTypes, TokenStream
{
public SqlStatementLexer(InputStream in) {
  this(new ByteBuffer(in));
}
public SqlStatementLexer(Reader in) {
  this(new CharBuffer(in));
}
public SqlStatementLexer(InputBuffer ib) {
  this(new LexerSharedInputState(ib));
}
public SqlStatementLexer(LexerSharedInputState state) {
  super(state);
  caseSensitiveLiterals = true;
  setCaseSensitive(true);
  literals = new Hashtable();
}

public Token nextToken() throws TokenStreamException {
  Token theRetToken=null;
tryAgain:
  for (;;) {
    Token _token = null;
    int _ttype = Token.INVALID_TYPE;
    resetText();
    try {   // for char stream error handling
      try {   // for lexical error handling
        if ((LA(1)=='\'') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe'))) {
          mQUOTED_STRING(true);
          theRetToken=_returnToken;
        }
        else if ((LA(1)=='-'||LA(1)=='/') && (LA(2)=='-'||LA(2)=='/')) {
          mLINE_COMMENT(true);
          theRetToken=_returnToken;
        }
        else if ((LA(1)=='/') && (LA(2)=='*')) {
          mMULTILINE_COMMENT(true);
          theRetToken=_returnToken;
        }
        else if ((LA(1)==';')) {
          mSTMT_END(true);
          theRetToken=_returnToken;
        }
        else if ((_tokenSet_0.member(LA(1))) && (true)) {
          mNOT_STMT_END(true);
          theRetToken=_returnToken;
        }
        else {
          if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
        else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
        }
       
        if ( _returnToken==null ) continue tryAgain; // found SKIP token
        _ttype = _returnToken.getType();
        _ttype = testLiteralsTable(_ttype);
        _returnToken.setType(_ttype);
        return _returnToken;
      }
      catch (RecognitionException e) {
        throw new TokenStreamRecognitionException(e);
      }
    }
    catch (CharStreamException cse) {
      if ( cse instanceof CharStreamIOException ) {
        throw new TokenStreamIOException(((CharStreamIOException)cse).io);
      }
      else {
        throw new TokenStreamException(cse.getMessage());
      }
    }
  }
}

  public final void mSTMT_END(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    int _ttype; Token _token=null; int _begin=text.length();
    _ttype = STMT_END;
    int _saveIndex;
   
    match(';');
    {
    _loop9:
    do {
      switch ( LA(1)) {
      case '\t':
      {
        match('\t');
        break;
      }
      case ' ':
      {
        match(' ');
        break;
      }
      case '\r':
      {
        match('\r');
        break;
      }
      case '\n':
      {
        match('\n');
        break;
      }
      default:
      {
        break _loop9;
      }
      }
    } while (true);
    }
    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
      _token = makeToken(_ttype);
      _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
    }
    _returnToken = _token;
  }
 
  public final void mNOT_STMT_END(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    int _ttype; Token _token=null; int _begin=text.length();
    _ttype = NOT_STMT_END;
    int _saveIndex;
   
    {
    match(_tokenSet_0);
    }
    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
      _token = makeToken(_ttype);
      _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
    }
    _returnToken = _token;
  }
 
  public final void mQUOTED_STRING(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    int _ttype; Token _token=null; int _begin=text.length();
    _ttype = QUOTED_STRING;
    int _saveIndex;
   
    match('\'');
    {
    _loop16:
    do {
      boolean synPredMatched15 = false;
      if (((LA(1)=='\'') && (LA(2)=='\''))) {
        int _m15 = mark();
        synPredMatched15 = true;
        inputState.guessing++;
        try {
          {
          mESCqs(false);
          }
        }
        catch (RecognitionException pe) {
          synPredMatched15 = false;
        }
        rewind(_m15);
inputState.guessing--;
      }
      if ( synPredMatched15 ) {
        mESCqs(false);
      }
      else if ((_tokenSet_1.member(LA(1)))) {
        matchNot('\'');
      }
      else {
        break _loop16;
      }
     
    } while (true);
    }
    match('\'');
    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
      _token = makeToken(_ttype);
      _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
    }
    _returnToken = _token;
  }
 
  protected final void mESCqs(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    int _ttype; Token _token=null; int _begin=text.length();
    _ttype = ESCqs;
    int _saveIndex;
   
    match('\'');
    match('\'');
    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
      _token = makeToken(_ttype);
      _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
    }
    _returnToken = _token;
  }
 
  public final void mLINE_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    int _ttype; Token _token=null; int _begin=text.length();
    _ttype = LINE_COMMENT;
    int _saveIndex;
   
    {
    switch ( LA(1)) {
    case '/':
    {
      match("//");
      break;
    }
    case '-':
    {
      match("--");
      break;
    }
    default:
    {
      throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
    }
    }
    }
    {
    _loop22:
    do {
      if ((_tokenSet_2.member(LA(1)))) {
        {
        match(_tokenSet_2);
        }
      }
      else {
        break _loop22;
      }
     
    } while (true);
    }
    if ( inputState.guessing==0 ) {
      _ttype = Token.SKIP;
    }
    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
      _token = makeToken(_ttype);
      _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
    }
    _returnToken = _token;
  }
 
  public final void mMULTILINE_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
    int _ttype; Token _token=null; int _begin=text.length();
    _ttype = MULTILINE_COMMENT;
    int _saveIndex;
   
    match("/*");
    {
    _loop25:
    do {
      // nongreedy exit test
      if ((LA(1)=='*') && (LA(2)=='/')) break _loop25;
      if (((LA(1) >= '\u0000' && LA(1) <= '\ufffe')) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe'))) {
        matchNot(EOF_CHAR);
      }
      else {
        break _loop25;
      }
     
    } while (true);
    }
    match("*/");
    if ( inputState.guessing==0 ) {
      _ttype = Token.SKIP;
    }
    if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
      _token = makeToken(_ttype);
      _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
    }
    _returnToken = _token;
  }
 
 
  private static final long[] mk_tokenSet_0() {
    long[] data = new long[2048];
    data[0]=-576460752303423489L;
    for (int i = 1; i<=1022; i++) { data[i]=-1L; }
    data[1023]=9223372036854775807L;
    return data;
  }
  public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
  private static final long[] mk_tokenSet_1() {
    long[] data = new long[2048];
    data[0]=-549755813889L;
    for (int i = 1; i<=1022; i++) { data[i]=-1L; }
    data[1023]=9223372036854775807L;
    return data;
  }
  public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
  private static final long[] mk_tokenSet_2() {
    long[] data = new long[2048];
    data[0]=-9217L;
    for (int i = 1; i<=1022; i++) { data[i]=-1L; }
    data[1023]=9223372036854775807L;
    return data;
  }
  public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
 
  }
TOP

Related Classes of org.hibernate.hql.internal.antlr.SqlStatementLexer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.