| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "tools/gn/parser.h" | 5 #include "tools/gn/parser.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "tools/gn/functions.h" | 10 #include "tools/gn/functions.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 "\n" | 55 "\n" |
| 56 "String literals\n" | 56 "String literals\n" |
| 57 "\n" | 57 "\n" |
| 58 " A string literal represents a string value consisting of the quoted\n" | 58 " A string literal represents a string value consisting of the quoted\n" |
| 59 " characters with possible escape sequences and variable expansions.\n" | 59 " characters with possible escape sequences and variable expansions.\n" |
| 60 "\n" | 60 "\n" |
| 61 " string = `\"` { char | escape | expansion } `\"` .\n" | 61 " string = `\"` { char | escape | expansion } `\"` .\n" |
| 62 " escape = `\\` ( \"$\" | `\"` | char ) .\n" | 62 " escape = `\\` ( \"$\" | `\"` | char ) .\n" |
| 63 " BracketExpansion = \"{\" ( identifier | ArrayAccess | ScopeAccess " | 63 " BracketExpansion = \"{\" ( identifier | ArrayAccess | ScopeAccess " |
| 64 ") \"}\" .\n" | 64 ") \"}\" .\n" |
| 65 " expansion = \"$\" ( identifier | BracketExpansion ) .\n" | 65 " Hex = \"0x\" [0-9A-Fa-f][0-9A-Fa-f]\n" |
| 66 " expansion = \"$\" ( identifier | BracketExpansion | Hex ) .\n" |
| 66 " char = /* any character except \"$\", `\"`, or newline " | 67 " char = /* any character except \"$\", `\"`, or newline " |
| 67 "*/ .\n" | 68 "*/ .\n" |
| 68 "\n" | 69 "\n" |
| 69 " After a backslash, certain sequences represent special characters:\n" | 70 " After a backslash, certain sequences represent special characters:\n" |
| 70 "\n" | 71 "\n" |
| 71 " \\\" U+0022 quotation mark\n" | 72 " \\\" U+0022 quotation mark\n" |
| 72 " \\$ U+0024 dollar sign\n" | 73 " \\$ U+0024 dollar sign\n" |
| 73 " \\\\ U+005C backslash\n" | 74 " \\\\ U+005C backslash\n" |
| 74 "\n" | 75 "\n" |
| 75 " All other backslashes represent themselves.\n" | 76 " All other backslashes represent themselves.\n" |
| 76 "\n" | 77 "\n" |
| 78 " To insert an arbitrary byte value, use $0xFF. For example, to\n" |
| 79 " insert a newline character: \"Line one$0x0ALine two\".\n" |
| 80 "\n" |
| 77 "Punctuation\n" | 81 "Punctuation\n" |
| 78 "\n" | 82 "\n" |
| 79 " The following character sequences represent punctuation:\n" | 83 " The following character sequences represent punctuation:\n" |
| 80 "\n" | 84 "\n" |
| 81 " + += == != ( )\n" | 85 " + += == != ( )\n" |
| 82 " - -= < <= [ ]\n" | 86 " - -= < <= [ ]\n" |
| 83 " ! = > >= { }\n" | 87 " ! = > >= { }\n" |
| 84 " && || . ,\n" | 88 " && || . ,\n" |
| 85 "\n" | 89 "\n" |
| 86 "Grammar\n" | 90 "Grammar\n" |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 753 break; | 757 break; |
| 754 } | 758 } |
| 755 } | 759 } |
| 756 | 760 |
| 757 // Suffix comments were assigned in reverse, so if there were multiple on | 761 // Suffix comments were assigned in reverse, so if there were multiple on |
| 758 // the same node, they need to be reversed. | 762 // the same node, they need to be reversed. |
| 759 if ((*i)->comments() && !(*i)->comments()->suffix().empty()) | 763 if ((*i)->comments() && !(*i)->comments()->suffix().empty()) |
| 760 const_cast<ParseNode*>(*i)->comments_mutable()->ReverseSuffix(); | 764 const_cast<ParseNode*>(*i)->comments_mutable()->ReverseSuffix(); |
| 761 } | 765 } |
| 762 } | 766 } |
| OLD | NEW |