use of antlr.NoViableAltForCharException in project sonarqube by SonarSource.
the class ValidWhenLexer method mSTRING_LITERAL.
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 _cnt30 = 0;
_loop30: do {
if ((_tokenSet_0.member(LA(1)))) {
matchNot('\'');
} else {
if (_cnt30 >= 1) {
break _loop30;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt30++;
} while (true);
}
match('\'');
}
break;
}
case '"':
{
{
match('\"');
{
int _cnt33 = 0;
_loop33: do {
if ((_tokenSet_1.member(LA(1)))) {
matchNot('\"');
} else {
if (_cnt33 >= 1) {
break _loop33;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt33++;
} 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;
}
use of antlr.NoViableAltForCharException in project groovy by apache.
the class SourceUnit method failedWithUnexpectedEOF.
/**
* Convenience routine, primarily for use by the InteractiveShell,
* that returns true if parse() failed with an unexpected EOF.
*/
public boolean failedWithUnexpectedEOF() {
// If you find another way, please add it.
if (getErrorCollector().hasErrors()) {
Message last = (Message) getErrorCollector().getLastError();
Throwable cause = null;
if (last instanceof SyntaxErrorMessage) {
cause = ((SyntaxErrorMessage) last).getCause().getCause();
}
if (cause != null) {
if (cause instanceof NoViableAltException) {
return isEofToken(((NoViableAltException) cause).token);
} else if (cause instanceof NoViableAltForCharException) {
char badChar = ((NoViableAltForCharException) cause).foundChar;
return badChar == CharScanner.EOF_CHAR;
} else if (cause instanceof MismatchedCharException) {
char badChar = (char) ((MismatchedCharException) cause).foundChar;
return badChar == CharScanner.EOF_CHAR;
} else if (cause instanceof MismatchedTokenException) {
return isEofToken(((MismatchedTokenException) cause).token);
}
}
}
return false;
}
use of antlr.NoViableAltForCharException in project sonar-java by SonarSource.
the class ValidWhenLexer method mIDENTIFIER.
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 _cnt42 = 0;
_loop42: 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 (_cnt42 >= 1) {
break _loop42;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
}
_cnt42++;
} while (true);
}
if (_createToken && _token == null && _ttype != Token.SKIP) {
_token = makeToken(_ttype);
_token.setText(new String(text.getBuffer(), _begin, text.length() - _begin));
}
_returnToken = _token;
}
use of antlr.NoViableAltForCharException in project sonar-java by SonarSource.
the class ValidWhenLexer method mSTRING_LITERAL.
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 _cnt30 = 0;
_loop30: do {
if ((_tokenSet_0.member(LA(1)))) {
matchNot('\'');
} else {
if (_cnt30 >= 1) {
break _loop30;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt30++;
} while (true);
}
match('\'');
}
break;
}
case '"':
{
{
match('\"');
{
int _cnt33 = 0;
_loop33: do {
if ((_tokenSet_1.member(LA(1)))) {
matchNot('\"');
} else {
if (_cnt33 >= 1) {
break _loop33;
} else {
throw new NoViableAltForCharException((char) LA(1), getFilename(), getLine(), getColumn());
}
}
_cnt33++;
} 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;
}
use of antlr.NoViableAltForCharException in project ili2db by claeis.
the class SqlLexer method mESC.
protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
int _ttype;
Token _token = null;
int _begin = text.length();
_ttype = ESC;
int _saveIndex;
match('\\');
{
switch(LA(1)) {
case '\'':
{
match('\'');
break;
}
case '\\':
{
match('\\');
break;
}
case 'u':
{
match('u');
mHEXDIGIT(false);
mHEXDIGIT(false);
mHEXDIGIT(false);
mHEXDIGIT(false);
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;
}
Aggregations