Created
December 17, 2021 15:39
-
-
Save vsajip/ef01149692e3fe0320a1fa136c6f3a85 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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