// $ANTLR 2.7.5 (20050128): "ValidWhenParser.g" -> "ValidWhenLexer.java"$
/*
* $Header: /cvs/springmodules/projects/validation/src/java/org/springmodules/validation/commons/validwhen/ValidWhenLexer.java,v 1.3 2006/10/27 01:59:59 hueboness Exp $
* $Revision: 1.3 $
* $Date: 2006/10/27 01:59:59 $
*
* Copyright 2003-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springmodules.validation.commons.validwhen;
import java.io.InputStream;
import java.io.Reader;
import java.util.Hashtable;
import antlr.*;
import antlr.collections.impl.BitSet;
public class ValidWhenLexer extends antlr.CharScanner implements ValidWhenParserTokenTypes, TokenStream {
public ValidWhenLexer(InputStream in) {
this(new ByteBuffer(in));
}
public ValidWhenLexer(Reader in) {
this(new CharBuffer(in));
}
public ValidWhenLexer(InputBuffer ib) {
this(new LexerSharedInputState(ib));
}
public ValidWhenLexer(LexerSharedInputState state) {
super(state);
caseSensitiveLiterals = true;
setCaseSensitive(false);
literals = new Hashtable();
literals.put(new ANTLRHashString("null", this), new Integer(10));
literals.put(new ANTLRHashString("or", this), new Integer(15));
literals.put(new ANTLRHashString("and", this), new Integer(14));
}
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
switch (LA(1)) {
case '\t':
case '\n':
case '\r':
case ' ': {
mWS(true);
theRetToken = _returnToken;
break;
}
case '"':
case '\'': {
mSTRING_LITERAL(true);
theRetToken = _returnToken;
break;
}
case '[': {
mLBRACKET(true);
theRetToken = _returnToken;
break;
}
case ']': {
mRBRACKET(true);
theRetToken = _returnToken;
break;
}
case '(': {
mLPAREN(true);
theRetToken = _returnToken;
break;
}
case ')': {
mRPAREN(true);
theRetToken = _returnToken;
break;
}
case '*': {
mTHIS(true);
theRetToken = _returnToken;
break;
}
case '.':
case '_':
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z': {
mIDENTIFIER(true);
theRetToken = _returnToken;
break;
}
case '=': {
mEQUALSIGN(true);
theRetToken = _returnToken;
break;
}
case '!': {
mNOTEQUALSIGN(true);
theRetToken = _returnToken;
break;
}
default:
if ((LA(1) == '0') && (LA(2) == 'x')) {
mHEX_LITERAL(true);
theRetToken = _returnToken;
} else if ((LA(1) == '<') && (LA(2) == '=')) {
mLESSEQUALSIGN(true);
theRetToken = _returnToken;
} else if ((LA(1) == '>') && (LA(2) == '=')) {
mGREATEREQUALSIGN(true);
theRetToken = _returnToken;
} else if ((_tokenSet_0.member(LA(1))) && (true)) {
mDECIMAL_LITERAL(true);
theRetToken = _returnToken;
} else if ((LA(1) == '<') && (true)) {
mLESSTHANSIGN(true);
theRetToken = _returnToken;
} else if ((LA(1) == '>') && (true)) {
mGREATERTHANSIGN(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 mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = WS;
int _saveIndex;
{
int _cnt15 = 0;
_loop15:
do {
switch (LA(1)) {
case ' ': {
match(' ');
break;
}
case '\t': {
match('\t');
break;
}
case '\n': {
match('\n');
break;
}
case '\r': {
match('\r');
break;
}
default: {
if (_cnt15 >= 1) {
break _loop15;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
_cnt15++;
} while (true);
}
_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 mDECIMAL_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = DECIMAL_LITERAL;
int _saveIndex;
{
switch (LA(1)) {
case '-': {
match('-');
break;
}
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
switch (LA(1)) {
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
{
{
matchRange('1', '9');
}
{
_loop22:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0', '9');
} else {
break _loop22;
}
} while (true);
}
}
{
if ((LA(1) == '.')) {
match('.');
{
int _cnt25 = 0;
_loop25:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0', '9');
} else {
if (_cnt25 >= 1) {
break _loop25;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt25++;
} while (true);
}
} else {
}
}
break;
}
case '0': {
{
match('0');
match('.');
{
int _cnt28 = 0;
_loop28:
do {
if (((LA(1) >= '0' && LA(1) <= '9'))) {
matchRange('0', '9');
} else {
if (_cnt28 >= 1) {
break _loop28;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt28++;
} while (true);
}
}
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
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 mHEX_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = HEX_LITERAL;
int _saveIndex;
match('0');
match('x');
{
int _cnt31 = 0;
_loop31:
do {
switch (LA(1)) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
matchRange('0', '9');
break;
}
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f': {
matchRange('a', 'f');
break;
}
default: {
if (_cnt31 >= 1) {
break _loop31;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
_cnt31++;
} 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 mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = STRING_LITERAL;
int _saveIndex;
switch (LA(1)) {
case '\'': {
{
match('\'');
{
int _cnt35 = 0;
_loop35:
do {
if ((_tokenSet_1.member(LA(1)))) {
matchNot('\'');
} else {
if (_cnt35 >= 1) {
break _loop35;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt35++;
} while (true);
}
match('\'');
}
break;
}
case '"': {
{
match('\"');
{
int _cnt38 = 0;
_loop38:
do {
if ((_tokenSet_2.member(LA(1)))) {
matchNot('\"');
} else {
if (_cnt38 >= 1) {
break _loop38;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt38++;
} while (true);
}
match('\"');
}
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
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 mLBRACKET(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LBRACKET;
int _saveIndex;
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 mRBRACKET(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = RBRACKET;
int _saveIndex;
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 mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LPAREN;
int _saveIndex;
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 mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = RPAREN;
int _saveIndex;
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 mTHIS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = THIS;
int _saveIndex;
match("*this*");
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 mIDENTIFIER(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = IDENTIFIER;
int _saveIndex;
{
switch (LA(1)) {
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z': {
matchRange('a', 'z');
break;
}
case '.': {
match('.');
break;
}
case '_': {
match('_');
break;
}
default: {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
{
int _cnt47 = 0;
_loop47:
do {
switch (LA(1)) {
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z': {
matchRange('a', 'z');
break;
}
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9': {
matchRange('0', '9');
break;
}
case '.': {
match('.');
break;
}
case '_': {
match('_');
break;
}
default: {
if (_cnt47 >= 1) {
break _loop47;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
_cnt47++;
} 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 mEQUALSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = EQUALSIGN;
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 mNOTEQUALSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = NOTEQUALSIGN;
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 mLESSTHANSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LESSTHANSIGN;
int _saveIndex;
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 mGREATERTHANSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = GREATERTHANSIGN;
int _saveIndex;
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 mLESSEQUALSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = LESSEQUALSIGN;
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 mGREATEREQUALSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = GREATEREQUALSIGN;
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;
}
private static final long[] mk_tokenSet_0() {
long[] data = {287984085547089920L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
private static final long[] mk_tokenSet_1() {
long[] data = {-549755813889L, -1L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
private static final long[] mk_tokenSet_2() {
long[] data = {-17179869185L, -1L, 0L, 0L};
return data;
}
public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
}