Methods Summary |
---|
public java.lang.String | escapeChar(int c, boolean forCharLiteral)Given a character value, return a string representing the character
that can be embedded inside a string literal or character literal
This works for Java/C/C++ code-generation and languages with compatible
special-character-escapment.
Code-generators for languages should override this method.
switch (c) {
// case GrammarAnalyzer.EPSILON_TYPE : return "<end-of-token>";
case '\n":
return "\\n";
case '\t":
return "\\t";
case '\r":
return "\\r";
case '\\":
return "\\\\";
case '\'":
return forCharLiteral ? "\\'" : "'";
case '"":
return forCharLiteral ? "\"" : "\\\"";
default :
if (c < ' " || c > 126) {
if ((0x0000 <= c) && (c <= 0x000F)) {
return "\\u000" + Integer.toString(c, 16);
}
else if ((0x0010 <= c) && (c <= 0x00FF)) {
return "\\u00" + Integer.toString(c, 16);
}
else if ((0x0100 <= c) && (c <= 0x0FFF)) {
return "\\u0" + Integer.toString(c, 16);
}
else {
return "\\u" + Integer.toString(c, 16);
}
}
else {
return String.valueOf((char)c);
}
}
|
public java.lang.String | escapeString(java.lang.String s)Converts a String into a representation that can be use as a literal
when surrounded by double-quotes.
String retval = new String();
for (int i = 0; i < s.length(); i++) {
retval += escapeChar(s.charAt(i), false);
}
return retval;
|
public java.lang.String | literalChar(int c)Given a character value, return a string representing the character
literal that can be recognized by the target language compiler.
This works for languages that use single-quotes for character literals.
Code-generators for languages should override this method.
return "'" + escapeChar(c, true) + "'";
|
public java.lang.String | literalString(java.lang.String s)Converts a String into a string literal
This works for languages that use double-quotes for string literals.
Code-generators for languages should override this method.
return "\"" + escapeString(s) + "\"";
|