Community
Participate
Working Groups
stringLiteralExpCS ::= stringLiteralExpCS STRING_LITERAL
/.$BeginJava
StringLiteralExpCS result = (StringLiteralExpCS) $getSym(1);
result.setStringSymbol(result.getStringSymbol() + getTokenText($getToken(2)));
result.setStringSymbol(result.getStringSymbol() + unescape(getIToken(($getToken(2)))));
IToken token = getIToken($getToken(2));
int tokenLine = token.getLine();
setOffsets(result, result, token);
ModelTypeCS result = createModelTypeCS(
new Token(0, 0, 0),
createStringLiteralExpCS("''"),
null,
$EMPTY_ELIST,
$EMPTY_ELIST
);
./
compliance_kindOpt ::= $empty
/.$NullAction./
CSTNode result = createStringLiteralExpCS("''");
setOffsets(result, getIToken($getToken(1)));
$setResult(result);
$EndJava
compliance_kindOpt -> stringLiteralExpCS
--=== // model types compliance and metamodel declarations (end) ===--
stringLiteralExpCS ::= STRING_LITERAL
CSTNode result = createStringLiteralExpCS(getTokenText($getToken(1)));
CSTNode result = createStringLiteralExpCS(unescape(getIToken(($getToken(1)))));
'%' | '&' | '^' | ':' | ';' | "'" | '\' | '|' | '{' | '}' |
'[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#' | DollarSign
SpecialNotDQ -> '+' | '-' | '/' | '(' | ')' | '*' | '!' | '@' | '`' | '~' |
SpecialNotSQNotDQ -> '+' | '-' | '/' | '(' | ')' | '*' | '!' | '@' | '`' | '~' |
'%' | '&' | '^' | ':' | ';' | "'" | '|' | '{' | '}' |
'%' | '&' | '^' | ':' | ';' | '|' | '{' | '}' |
SpecialNotSQ -> '+' | '-' | '/' | '(' | ')' | '*' | '!' | '@' | '`' | '~' |
'%' | '&' | '^' | ':' | ';' | '"' | '|' | '{' | '}' | '\' |
SpecialNotDQ -> SpecialNotSQNotDQ | "'"
SpecialNotSQ -> SpecialNotSQNotDQ | '"'
EscapedSymbols -> NotSQNotDQ | '"' | "'" | '\'
BackslashEscapedSymbol -> '\' EscapedSymbols
NotSlashOrStar -> Letter
| Digit
| FF
| CtlCharNotWS
NotSQNotDQ -> Letter
| SpecialNotSQNotDQ
| Space
NotDQ -> Letter
| SpecialNotDQ
| SpecialNotSQ
| EscapedSQ
| BackslashEscapedSymbol
--| '\' u HexDigit HexDigit HexDigit HexDigit
--| '\' OctalDigit
Identifier -> QuotedName
QuotedName -> '"' SLNotDQ '"'
EscapedDQ -> '\' DoubleQuote
NotDQ -> EscapedDQ -- QVT unites backslash-escape sequences. See rules below.
NotSQ -> EscapedSQ -- QVT prohibits '' escaping within SQ string literals
$End
$EndAction
NotSQ -> HT
NotSQ -> LF
NotSQ -> CR
NotDQ -> LF
NotDQ -> CR
NotDQ -> BackslashEscapedSymbol
Token ::= DoubleQuote SLNotDQOpt DoubleQuote
/.$BeginAction
makeToken($_STRING_LITERAL);
SLNotDQOpt -> $empty
| SLNotDQ
}
@Override
protected boolean isNonStdSQSupported() {
return false;