| /* |
| * Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| * for details. All rights reserved. Use of this source code is governed by a |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| /** |
| * @assertion stringLiteral: |
| * (MULTI_LINE_STRING | SINGLE_LINE_STRING)+ |
| * ; |
| * SINGLE_LINE_STRING: |
| * '"' STRING_CONTENT_DQ* '"' |
| * | ''' STRING_CONTENT_SQ* ''' |
| * | 'r' ''' (~( ''' | NEWLINE ))* ''' |
| * | 'r' '"' (~( '"' | NEWLINE ))* '"' |
| * ; |
| * STRING_CONTENT_DQ: |
| * ~( '\' | '"' | '$' | NEWLINE ) |
| * | '\' ~( NEWLINE ) |
| * | STRING_INTERPOLATION |
| * ; |
| * STRING_CONTENT_SQ: |
| * ~( '\' | ''' | '$' | NEWLINE ) |
| * | '\' ~( NEWLINE ) |
| * | STRING_INTERPOLATION |
| * ; |
| * NEWLINE: |
| * '\n' |
| * | '\r' |
| * ; |
| * @description Checks that various valid single-line string literals |
| * don't produce a compile-time error. |
| * @author msyabro |
| * @reviewer rodionov |
| */ |
| |
| main() { |
| ""; |
| ''; |
| "''"; |
| '"'; |
| ' '; |
| " "; |
| r""; |
| r''; |
| r' '; |
| r"\"; |
| r'\'; |
| r"\\"; |
| r'\\'; |
| r"\\\"; |
| r'\\\'; |
| r'$'; |
| r"$"; |
| r'$$'; |
| r"$$"; |
| |
| "1234567890"; |
| '1234567890'; |
| r"1234567890"; |
| r'1234567890'; |
| "39018"; |
| '36813134'; |
| |
| "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
| 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
| r"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
| r'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
| "AuncANNCKHnLAJDLJAD"; |
| 'OdjcopONDajNDcjdsl'; |
| |
| "!@#%^&*(){}[]<>-_=+|~?/.,;:`"; |
| '!@#%^&*(){}[]<>-_=+|~?/.,;:`'; |
| r"!@#%^&*(){}[]<>-_=+|~?/.,;:`"; |
| r'!@#%^&*(){}[]<>-_=+|~?/.,;:`'; |
| |
| "12 !r'ab'"; |
| '1t!"1Tr" '; |
| |
| "\a\b\c\d\e\1\2\3\4\!\@\#\√\ "; |
| '\a\b\c\d\e\1\2\3\4\!\@\#\√\ '; |
| r"\+\3\12\f"; |
| r'\~\f\ \7'; |
| |
| //arabic |
| "أبجدية عربية"; |
| 'أبجدية عربية'; |
| //cyrillic |
| "кириллица"; |
| 'кириллица'; |
| //hebrew |
| "עִבְרִית"; |
| 'עִבְרִית'; |
| //roman numerals |
| "ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ ⅼ ⅽ ⅾ ⅿ "; |
| 'ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ ⅼ ⅽ ⅾ ⅿ '; |
| //mathematical symbols |
| "∀ ∁ ∂ ∃ ∄ ∅ ∆ ∇ ∈ ∉ ∊ ∋ ∌ ∍ ∎ ∏ ∐ ∑ − ∓ ∔ ∕ ∖ ∗ ∘ ∙ √ ∛ ∜ ∝ ∞ "; |
| "∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ∧ ∨ ∩ ∪ ∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ∴ ∵ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿"; |
| r"≀ ≁ ≂ ≃ ≄ ≅ ≆ ≇ ≈ ≉ ≊ ≋ ≌ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟"; |
| r"≠ ≡ ≢ ≣ ≤ ≥ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≺ ≻ ≼ ≽ ≾ ≿"; |
| r'∀ ∁ ∂ ∃ ∄ ∅ ∆ ∇ ∈ ∉ ∊ ∋ ∌ ∍ ∎ ∏ ∐ ∑ − ∓ ∔ ∕ ∖ ∗ ∘ ∙ √ ∛ ∜ ∝ ∞ '; |
| r'∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ∧ ∨ ∩ ∪ ∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ∴ ∵ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿'; |
| '≀ ≁ ≂ ≃ ≄ ≅ ≆ ≇ ≈ ≉ ≊ ≋ ≌ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟'; |
| '≠ ≡ ≢ ≣ ≤ ≥ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≺ ≻ ≼ ≽ ≾ ≿'; |
| //braille |
| "⠁ ⠂ ⠃ ⠄ ⠅ ⠆ ⠇ ⠈ ⠉ ⠊ ⠋ ⠌ ⠍ ⠎ ⠏ ⠐ ⠑ ⠒ ⠓ ⠔ ⠕ ⠖ ⠗ ⠘ ⠙ ⠚ ⠛ ⠜ ⠝ ⠞ ⠟"; |
| '⠁ ⠂ ⠃ ⠄ ⠅ ⠆ ⠇ ⠈ ⠉ ⠊ ⠋ ⠌ ⠍ ⠎ ⠏ ⠐ ⠑ ⠒ ⠓ ⠔ ⠕ ⠖ ⠗ ⠘ ⠙ ⠚ ⠛ ⠜ ⠝ ⠞ ⠟'; |
| //some random symbols from the unicode table |
| "☠ ☡ ☢ ☣ ☤ ☥ ☦ ☧ ☨ ☩ ☪ ☫ ☬ ☭ ☮ ☯ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ ☸ ☹ ☺ ☻ ☼ ☽ ☾ ☿"; |
| r"♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇ ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟"; |
| "♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ ♨ ♩ ♪ ♫ ♬ ♭ ♮ ♯ ♰ ♱ ♲ ♳ ♴ ♵ ♶ ♷ ♸ ♹ ♺ ♻ ♼ ♽ ♾ ♿"; |
| r'☠ ☡ ☢ ☣ ☤ ☥ ☦ ☧ ☨ ☩ ☪ ☫ ☬ ☭ ☮ ☯ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ ☸ ☹ ☺ ☻ ☼ ☽ ☾ ☿'; |
| '♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇ ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ �'; |
| } |