List of usage examples for org.antlr.v4.runtime Token MIN_USER_TOKEN_TYPE
int MIN_USER_TOKEN_TYPE
To view the source code for org.antlr.v4.runtime Token MIN_USER_TOKEN_TYPE.
Click Source Link
From source file:net.certiv.json.test.base.AbstractBase.java
License:Open Source License
protected void checkSymbols(Grammar g, String rulesStr, String allValidTokensStr) throws Exception { String[] typeToTokenName = g.getTokenNames(); Set<String> tokens = new HashSet<String>(); for (int i = 0; i < typeToTokenName.length; i++) { String t = typeToTokenName[i]; if (t != null) { if (t.startsWith(Grammar.AUTO_GENERATED_TOKEN_NAME_PREFIX)) { tokens.add(g.getTokenDisplayName(i)); } else { tokens.add(t);/* w w w . jav a2 s. c o m*/ } } } // make sure expected tokens are there StringTokenizer st = new StringTokenizer(allValidTokensStr, ", "); while (st.hasMoreTokens()) { String tokenName = st.nextToken(); assertTrue("token " + tokenName + " expected, but was undefined", g.getTokenType(tokenName) != Token.INVALID_TYPE); tokens.remove(tokenName); } // make sure there are not any others (other than <EOF> etc...) for (String tokenName : tokens) { assertTrue("unexpected token name " + tokenName, g.getTokenType(tokenName) < Token.MIN_USER_TOKEN_TYPE); } // make sure all expected rules are there st = new StringTokenizer(rulesStr, ", "); int n = 0; while (st.hasMoreTokens()) { String ruleName = st.nextToken(); assertNotNull("rule " + ruleName + " expected", g.getRule(ruleName)); n++; } Assert.assertEquals("number of rules mismatch; expecting " + n + "; found " + g.rules.size(), n, g.rules.size()); }