View | Details | Raw Unified | Return to bug 250630 | Differences between
and this patch

Collapse All | Expand All

(-)cst/miscellaneous.g (-1 / +1 lines)
Lines 989-995 Link Here
989
	stringLiteralExpCS ::= stringLiteralExpCS STRING_LITERAL
989
	stringLiteralExpCS ::= stringLiteralExpCS STRING_LITERAL
990
		/.$BeginJava
990
		/.$BeginJava
991
					StringLiteralExpCS result = (StringLiteralExpCS) $getSym(1);
991
					StringLiteralExpCS result = (StringLiteralExpCS) $getSym(1);
992
					result.setStringSymbol(result.getStringSymbol() +  getTokenText($getToken(2)));
992
					result.setStringSymbol(result.getStringSymbol() +  unescape(getIToken(($getToken(2)))));
993
					IToken token = getIToken($getToken(2));
993
					IToken token = getIToken($getToken(2));
994
					int tokenLine = token.getLine();
994
					int tokenLine = token.getLine();
995
					setOffsets(result, result, token);
995
					setOffsets(result, result, token);
(-)cst/QvtOpLPGParser.g (-7 / +2 lines)
Lines 523-529 Link Here
523
		/.$BeginJava
523
		/.$BeginJava
524
					ModelTypeCS result = createModelTypeCS(
524
					ModelTypeCS result = createModelTypeCS(
525
							new Token(0, 0, 0),
525
							new Token(0, 0, 0),
526
							createStringLiteralExpCS("''"),
526
							null,
527
							$EMPTY_ELIST,
527
							$EMPTY_ELIST,
528
							$EMPTY_ELIST
528
							$EMPTY_ELIST
529
						);
529
						);
Lines 590-601 Link Here
590
		./
590
		./
591
591
592
	compliance_kindOpt ::= $empty
592
	compliance_kindOpt ::= $empty
593
		/.$BeginJava
593
		/.$NullAction./
594
					CSTNode result = createStringLiteralExpCS("''");
595
					setOffsets(result, getIToken($getToken(1)));
596
					$setResult(result);
597
		  $EndJava
598
		./
599
	compliance_kindOpt -> stringLiteralExpCS
594
	compliance_kindOpt -> stringLiteralExpCS
600
	--=== // model types compliance and metamodel declarations (end) ===--
595
	--=== // model types compliance and metamodel declarations (end) ===--
601
596
(-)cst/EssentialOCL.g (-1 / +1 lines)
Lines 1237-1243 Link Here
1237
		./
1237
		./
1238
	stringLiteralExpCS ::= STRING_LITERAL
1238
	stringLiteralExpCS ::= STRING_LITERAL
1239
		/.$BeginJava
1239
		/.$BeginJava
1240
					CSTNode result = createStringLiteralExpCS(getTokenText($getToken(1)));
1240
					CSTNode result = createStringLiteralExpCS(unescape(getIToken(($getToken(1)))));
1241
					setOffsets(result, getIToken($getToken(1)));
1241
					setOffsets(result, getIToken($getToken(1)));
1242
					$setResult(result);
1242
					$setResult(result);
1243
		  $EndJava
1243
		  $EndJava
(-)cst/OCLLexer.g (-7 / +16 lines)
Lines 529-541 Link Here
529
                       '%' | '&' | '^' | ':' | ';' | "'" | '\' | '|' | '{' | '}' |
529
                       '%' | '&' | '^' | ':' | ';' | "'" | '\' | '|' | '{' | '}' |
530
                       '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#' | DollarSign
530
                       '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#' | DollarSign
531
531
532
    SpecialNotDQ -> '+' | '-' | '/' | '(' | ')' | '*' | '!' | '@' | '`' | '~' |
532
    SpecialNotSQNotDQ -> '+' | '-' | '/' | '(' | ')' | '*' | '!' | '@' | '`' | '~' |
533
                    '%' | '&' | '^' | ':' | ';' | "'" | '|' | '{' | '}' |
533
                         '%' | '&' | '^' | ':' | ';' | '|' | '{' | '}' |
534
                    '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#' | DollarSign
534
                         '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#' | DollarSign
535
535
536
    SpecialNotSQ -> '+' | '-' | '/' | '(' | ')' | '*' | '!' | '@' | '`' | '~' |
536
    
537
                    '%' | '&' | '^' | ':' | ';' | '"' | '|' | '{' | '}' | '\' |
537
    SpecialNotDQ -> SpecialNotSQNotDQ | "'"
538
                    '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#' | DollarSign
538
    SpecialNotSQ -> SpecialNotSQNotDQ | '"'
539
540
    EscapedSymbols -> NotSQNotDQ | '"' | "'" | '\'
541
    BackslashEscapedSymbol -> '\' EscapedSymbols
539
542
540
    NotSlashOrStar -> Letter
543
    NotSlashOrStar -> Letter
541
                    | Digit
544
                    | Digit
Lines 551-556 Link Here
551
            | FF
554
            | FF
552
            | CtlCharNotWS
555
            | CtlCharNotWS
553
556
557
    NotSQNotDQ -> Letter
558
           | Digit
559
           | SpecialNotSQNotDQ
560
           | Space
561
554
    NotDQ -> Letter
562
    NotDQ -> Letter
555
           | Digit
563
           | Digit
556
           | SpecialNotDQ
564
           | SpecialNotDQ
Lines 564-569 Link Here
564
           | SpecialNotSQ
572
           | SpecialNotSQ
565
           | Space
573
           | Space
566
           | EscapedSQ
574
           | EscapedSQ
575
           | BackslashEscapedSymbol
567
           --| '\' u HexDigit HexDigit HexDigit HexDigit
576
           --| '\' u HexDigit HexDigit HexDigit HexDigit
568
           --| '\' OctalDigit
577
           --| '\' OctalDigit
569
578
(-)cst/QvtOpLexer.g (-2 / +5 lines)
Lines 57-62 Link Here
57
57
58
	Identifier -> QuotedName
58
	Identifier -> QuotedName
59
	QuotedName -> '"' SLNotDQ '"'
59
	QuotedName -> '"' SLNotDQ '"'
60
	EscapedDQ -> '\' DoubleQuote
61
	NotDQ -> EscapedDQ -- QVT unites backslash-escape sequences. See rules below.
62
	NotSQ -> EscapedSQ -- QVT prohibits '' escaping within SQ string literals
60
63
61
$End
64
$End
62
65
Lines 168-174 Link Here
168
		  $EndAction
171
		  $EndAction
169
		./
172
		./
170
173
171
172
	NotSQ -> HT
174
	NotSQ -> HT
173
	NotSQ -> LF
175
	NotSQ -> LF
174
	NotSQ -> CR
176
	NotSQ -> CR
Lines 177-182 Link Here
177
	NotDQ -> LF
179
	NotDQ -> LF
178
	NotDQ -> CR
180
	NotDQ -> CR
179
181
182
	NotDQ -> BackslashEscapedSymbol
183
180
	Token ::= DoubleQuote SLNotDQOpt DoubleQuote
184
	Token ::= DoubleQuote SLNotDQOpt DoubleQuote
181
		/.$BeginAction
185
		/.$BeginAction
182
					makeToken($_STRING_LITERAL);
186
					makeToken($_STRING_LITERAL);
Lines 185-189 Link Here
185
189
186
	SLNotDQOpt -> $empty
190
	SLNotDQOpt -> $empty
187
			| SLNotDQ
191
			| SLNotDQ
188
189
$End
192
$End
(-)src/org/eclipse/m2m/internal/qvt/oml/cst/parser/AbstractQVTParser.java (-1 / +5 lines)
Lines 1063-1066 Link Here
1063
		}
1063
		}
1064
	}
1064
	}
1065
1065
1066
}	
1066
	@Override
1067
	protected boolean isNonStdSQSupported() {
1068
		return false;
1069
	}
1070
}

Return to bug 250630