diff --git a/tool/src/org/antlr/v4/tool/Grammar.java b/tool/src/org/antlr/v4/tool/Grammar.java index 6b5a76d49..7053edfbb 100644 --- a/tool/src/org/antlr/v4/tool/Grammar.java +++ b/tool/src/org/antlr/v4/tool/Grammar.java @@ -566,7 +566,10 @@ public class Grammar implements AttributeResolver { String[] tokenNames = new String[numTokens+1]; for (String tokenName : tokenNameToTypeMap.keySet()) { Integer ttype = tokenNameToTypeMap.get(tokenName); - if ( tokenName!=null && tokenName.startsWith(AUTO_GENERATED_TOKEN_NAME_PREFIX) ) { + if ( tokenName!=null && + tokenName.startsWith(AUTO_GENERATED_TOKEN_NAME_PREFIX) && + ttype < typeToStringLiteralList.size() ) + { tokenName = typeToStringLiteralList.get(ttype); } if ( ttype>0 ) tokenNames[ttype] = tokenName;