@Test
    public void testYQLPlusTokenList() {
        Vocabulary vocabulary = yqlplusLexer.VOCABULARY;

        Set<String> antlrTokens = new HashSet<>();

        for (int i = 0; i < vocabulary.getMaxTokenType(); i++) {
            String symbolicName = vocabulary.getSymbolicName(i);
            if (symbolicName != null) {
                antlrTokens.add(symbolicName);
            }
        }

        Set<String> congoCCTokenStrings = new HashSet<>();

        for (var tokenType : YQLPlusLexer.getRegularTokens()) {
            congoCCTokenStrings.add(tokenType.toString());
        }

        List<String> missing = new ArrayList<>();
        for (var token : antlrTokens) {
            if (antlrSpecialTokens.contains(token)) continue;

            if (!congoCCTokenStrings.contains(token)) {
                missing.add(token);
            }
        }

        assertEquals(0, missing.size(), "Missing yqlplus tokens in CongoCC: " + String.join(", ", missing));
    }
Tests that the set of tokens declared in JavaCC parsers are also present in CongoCC parsers.
integration/schema-language-server/language-server/src/test/java/ai/vespa/schemals/ParserTokensTest.java