Skip to content

Instantly share code, notes, and snippets.

@vsajip
Created December 17, 2021 15:39
Show Gist options
  • Save vsajip/ef01149692e3fe0320a1fa136c6f3a85 to your computer and use it in GitHub Desktop.
Save vsajip/ef01149692e3fe0320a1fa136c6f3a85 to your computer and use it in GitHub Desktop.
/* Generated by: JavaCC 21 Parser Generator. Do not edit. JSONConstants.java */
package org.parsers.json;
/**
* Token literal values and constants.
*/
public interface JSONConstants {
public enum TokenType {
EOF, WHITESPACE, COLON, COMMA, OPEN_BRACKET, CLOSE_BRACKET, OPEN_BRACE, CLOSE_BRACE, TRUE, FALSE, NULL, STRING_LITERAL, NUMBER, INVALID
}
/**
* Lexical States
*/
public enum LexicalState {
JSON,
}
static String displayChar(int ch) {
if (ch== '\'') return"\'\\'\'";
if (ch== '\\') return"\'\\\\\'";
if (ch== '\t') return"\'\\t\'";
if (ch== '\r') return"\'\\r\'";
if (ch== '\n') return"\'\\n\'";
if (ch== '\f') return"\'\\f\'";
if (ch== ' ') return"\' \'";
if (ch<128&&!Character.isWhitespace(ch)&&!Character.isISOControl(ch)) return"\'"+(char) ch+"\'";
if (ch<10) return""+ch;
return"0x"+Integer.toHexString(ch);
}
static String addEscapes(String str) {
StringBuilder retval= new StringBuilder();
for (int ch : str.codePoints().toArray()) {
switch(ch) {
case'\b':
retval.append("\\b");
continue;
case'\t':
retval.append("\\t");
continue;
case'\n':
retval.append("\\n");
continue;
case'\f':
retval.append("\\f");
continue;
case'\r':
retval.append("\\r");
continue;
case'\"':
retval.append("\\\"");
continue;
case'\'':
retval.append("\\\'");
continue;
case'\\':
retval.append("\\\\");
continue;
default:
if (Character.isISOControl(ch)) {
String s= "0000"+java.lang.Integer.toString(ch, 16);
retval.append("\\u"+s.substring(s.length()-4, s.length()));
}
else {
retval.appendCodePoint(ch);
}
continue;
}
}
return retval.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment