Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Side by Side Diff: pkg/compiler/lib/src/tokens/precedence_constants.dart

Issue 2644843006: Use packages dart_parser, dart_scanner, and compiler_util. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library dart2js.tokens.precedence.constants;
6
7 import 'precedence.dart' show PrecedenceInfo;
8 import 'token_constants.dart';
9
10 // TODO(ahe): The following are not tokens in Dart.
11 const PrecedenceInfo BACKPING_INFO =
12 const PrecedenceInfo('`', 0, BACKPING_TOKEN);
13 const PrecedenceInfo BACKSLASH_INFO =
14 const PrecedenceInfo('\\', 0, BACKSLASH_TOKEN);
15 const PrecedenceInfo PERIOD_PERIOD_PERIOD_INFO =
16 const PrecedenceInfo('...', 0, PERIOD_PERIOD_PERIOD_TOKEN);
17
18 /**
19 * The cascade operator has the lowest precedence of any operator
20 * except assignment.
21 */
22 const int CASCADE_PRECEDENCE = 2;
23 const PrecedenceInfo PERIOD_PERIOD_INFO =
24 const PrecedenceInfo('..', CASCADE_PRECEDENCE, PERIOD_PERIOD_TOKEN);
25
26 const PrecedenceInfo BANG_INFO = const PrecedenceInfo('!', 0, BANG_TOKEN);
27 const PrecedenceInfo COLON_INFO = const PrecedenceInfo(':', 0, COLON_TOKEN);
28 const PrecedenceInfo INDEX_INFO = const PrecedenceInfo('[]', 0, INDEX_TOKEN);
29 const PrecedenceInfo MINUS_MINUS_INFO =
30 const PrecedenceInfo('--', POSTFIX_PRECEDENCE, MINUS_MINUS_TOKEN);
31 const PrecedenceInfo PLUS_PLUS_INFO =
32 const PrecedenceInfo('++', POSTFIX_PRECEDENCE, PLUS_PLUS_TOKEN);
33 const PrecedenceInfo TILDE_INFO = const PrecedenceInfo('~', 0, TILDE_TOKEN);
34
35 const PrecedenceInfo FUNCTION_INFO =
36 const PrecedenceInfo('=>', 0, FUNCTION_TOKEN);
37 const PrecedenceInfo HASH_INFO = const PrecedenceInfo('#', 0, HASH_TOKEN);
38 const PrecedenceInfo INDEX_EQ_INFO =
39 const PrecedenceInfo('[]=', 0, INDEX_EQ_TOKEN);
40 const PrecedenceInfo SEMICOLON_INFO =
41 const PrecedenceInfo(';', 0, SEMICOLON_TOKEN);
42 const PrecedenceInfo COMMA_INFO = const PrecedenceInfo(',', 0, COMMA_TOKEN);
43
44 const PrecedenceInfo AT_INFO = const PrecedenceInfo('@', 0, AT_TOKEN);
45
46 // Assignment operators.
47 const int ASSIGNMENT_PRECEDENCE = 1;
48 const PrecedenceInfo AMPERSAND_EQ_INFO =
49 const PrecedenceInfo('&=', ASSIGNMENT_PRECEDENCE, AMPERSAND_EQ_TOKEN);
50 const PrecedenceInfo BAR_EQ_INFO =
51 const PrecedenceInfo('|=', ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN);
52 const PrecedenceInfo CARET_EQ_INFO =
53 const PrecedenceInfo('^=', ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN);
54 const PrecedenceInfo EQ_INFO =
55 const PrecedenceInfo('=', ASSIGNMENT_PRECEDENCE, EQ_TOKEN);
56 const PrecedenceInfo GT_GT_EQ_INFO =
57 const PrecedenceInfo('>>=', ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN);
58 const PrecedenceInfo LT_LT_EQ_INFO =
59 const PrecedenceInfo('<<=', ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN);
60 const PrecedenceInfo MINUS_EQ_INFO =
61 const PrecedenceInfo('-=', ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN);
62 const PrecedenceInfo PERCENT_EQ_INFO =
63 const PrecedenceInfo('%=', ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN);
64 const PrecedenceInfo PLUS_EQ_INFO =
65 const PrecedenceInfo('+=', ASSIGNMENT_PRECEDENCE, PLUS_EQ_TOKEN);
66 const PrecedenceInfo SLASH_EQ_INFO =
67 const PrecedenceInfo('/=', ASSIGNMENT_PRECEDENCE, SLASH_EQ_TOKEN);
68 const PrecedenceInfo STAR_EQ_INFO =
69 const PrecedenceInfo('*=', ASSIGNMENT_PRECEDENCE, STAR_EQ_TOKEN);
70 const PrecedenceInfo TILDE_SLASH_EQ_INFO =
71 const PrecedenceInfo('~/=', ASSIGNMENT_PRECEDENCE, TILDE_SLASH_EQ_TOKEN);
72 const PrecedenceInfo QUESTION_QUESTION_EQ_INFO = const PrecedenceInfo(
73 '??=', ASSIGNMENT_PRECEDENCE, QUESTION_QUESTION_EQ_TOKEN);
74
75 const PrecedenceInfo QUESTION_INFO =
76 const PrecedenceInfo('?', 3, QUESTION_TOKEN);
77
78 const PrecedenceInfo QUESTION_QUESTION_INFO =
79 const PrecedenceInfo('??', 4, QUESTION_QUESTION_TOKEN);
80
81 const PrecedenceInfo BAR_BAR_INFO =
82 const PrecedenceInfo('||', 5, BAR_BAR_TOKEN);
83
84 const PrecedenceInfo AMPERSAND_AMPERSAND_INFO =
85 const PrecedenceInfo('&&', 6, AMPERSAND_AMPERSAND_TOKEN);
86
87 const PrecedenceInfo BAR_INFO = const PrecedenceInfo('|', 9, BAR_TOKEN);
88
89 const PrecedenceInfo CARET_INFO = const PrecedenceInfo('^', 10, CARET_TOKEN);
90
91 const PrecedenceInfo AMPERSAND_INFO =
92 const PrecedenceInfo('&', 11, AMPERSAND_TOKEN);
93
94 // Equality operators.
95 const int EQUALITY_PRECEDENCE = 7;
96 const PrecedenceInfo BANG_EQ_EQ_INFO =
97 const PrecedenceInfo('!==', EQUALITY_PRECEDENCE, BANG_EQ_EQ_TOKEN);
98 const PrecedenceInfo BANG_EQ_INFO =
99 const PrecedenceInfo('!=', EQUALITY_PRECEDENCE, BANG_EQ_TOKEN);
100 const PrecedenceInfo EQ_EQ_EQ_INFO =
101 const PrecedenceInfo('===', EQUALITY_PRECEDENCE, EQ_EQ_EQ_TOKEN);
102 const PrecedenceInfo EQ_EQ_INFO =
103 const PrecedenceInfo('==', EQUALITY_PRECEDENCE, EQ_EQ_TOKEN);
104
105 // Relational operators.
106 const int RELATIONAL_PRECEDENCE = 8;
107 const PrecedenceInfo GT_EQ_INFO =
108 const PrecedenceInfo('>=', RELATIONAL_PRECEDENCE, GT_EQ_TOKEN);
109 const PrecedenceInfo GT_INFO =
110 const PrecedenceInfo('>', RELATIONAL_PRECEDENCE, GT_TOKEN);
111 const PrecedenceInfo IS_INFO =
112 const PrecedenceInfo('is', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
113 const PrecedenceInfo AS_INFO =
114 const PrecedenceInfo('as', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
115 const PrecedenceInfo LT_EQ_INFO =
116 const PrecedenceInfo('<=', RELATIONAL_PRECEDENCE, LT_EQ_TOKEN);
117 const PrecedenceInfo LT_INFO =
118 const PrecedenceInfo('<', RELATIONAL_PRECEDENCE, LT_TOKEN);
119
120 // Shift operators.
121 const PrecedenceInfo GT_GT_INFO = const PrecedenceInfo('>>', 12, GT_GT_TOKEN);
122 const PrecedenceInfo LT_LT_INFO = const PrecedenceInfo('<<', 12, LT_LT_TOKEN);
123
124 // Additive operators.
125 const PrecedenceInfo MINUS_INFO = const PrecedenceInfo('-', 13, MINUS_TOKEN);
126 const PrecedenceInfo PLUS_INFO = const PrecedenceInfo('+', 13, PLUS_TOKEN);
127
128 // Multiplicative operators.
129 const PrecedenceInfo PERCENT_INFO =
130 const PrecedenceInfo('%', 14, PERCENT_TOKEN);
131 const PrecedenceInfo SLASH_INFO = const PrecedenceInfo('/', 14, SLASH_TOKEN);
132 const PrecedenceInfo STAR_INFO = const PrecedenceInfo('*', 14, STAR_TOKEN);
133 const PrecedenceInfo TILDE_SLASH_INFO =
134 const PrecedenceInfo('~/', 14, TILDE_SLASH_TOKEN);
135
136 const int POSTFIX_PRECEDENCE = 15;
137 const PrecedenceInfo PERIOD_INFO =
138 const PrecedenceInfo('.', POSTFIX_PRECEDENCE, PERIOD_TOKEN);
139 const PrecedenceInfo QUESTION_PERIOD_INFO =
140 const PrecedenceInfo('?.', POSTFIX_PRECEDENCE, QUESTION_PERIOD_TOKEN);
141
142 const PrecedenceInfo KEYWORD_INFO =
143 const PrecedenceInfo('keyword', 0, KEYWORD_TOKEN);
144
145 const PrecedenceInfo EOF_INFO = const PrecedenceInfo('EOF', 0, EOF_TOKEN);
146
147 const PrecedenceInfo IDENTIFIER_INFO =
148 const PrecedenceInfo('identifier', 0, IDENTIFIER_TOKEN);
149
150 const PrecedenceInfo BAD_INPUT_INFO =
151 const PrecedenceInfo('malformed input', 0, BAD_INPUT_TOKEN);
152
153 const PrecedenceInfo OPEN_PAREN_INFO =
154 const PrecedenceInfo('(', POSTFIX_PRECEDENCE, OPEN_PAREN_TOKEN);
155
156 const PrecedenceInfo CLOSE_PAREN_INFO =
157 const PrecedenceInfo(')', 0, CLOSE_PAREN_TOKEN);
158
159 const PrecedenceInfo OPEN_CURLY_BRACKET_INFO =
160 const PrecedenceInfo('{', 0, OPEN_CURLY_BRACKET_TOKEN);
161
162 const PrecedenceInfo CLOSE_CURLY_BRACKET_INFO =
163 const PrecedenceInfo('}', 0, CLOSE_CURLY_BRACKET_TOKEN);
164
165 const PrecedenceInfo INT_INFO = const PrecedenceInfo('int', 0, INT_TOKEN);
166
167 const PrecedenceInfo STRING_INFO =
168 const PrecedenceInfo('string', 0, STRING_TOKEN);
169
170 const PrecedenceInfo OPEN_SQUARE_BRACKET_INFO =
171 const PrecedenceInfo('[', POSTFIX_PRECEDENCE, OPEN_SQUARE_BRACKET_TOKEN);
172
173 const PrecedenceInfo CLOSE_SQUARE_BRACKET_INFO =
174 const PrecedenceInfo(']', 0, CLOSE_SQUARE_BRACKET_TOKEN);
175
176 const PrecedenceInfo DOUBLE_INFO =
177 const PrecedenceInfo('double', 0, DOUBLE_TOKEN);
178
179 const PrecedenceInfo STRING_INTERPOLATION_INFO =
180 const PrecedenceInfo('\${', 0, STRING_INTERPOLATION_TOKEN);
181
182 const PrecedenceInfo STRING_INTERPOLATION_IDENTIFIER_INFO =
183 const PrecedenceInfo('\$', 0, STRING_INTERPOLATION_IDENTIFIER_TOKEN);
184
185 const PrecedenceInfo HEXADECIMAL_INFO =
186 const PrecedenceInfo('hexadecimal', 0, HEXADECIMAL_TOKEN);
187
188 const PrecedenceInfo COMMENT_INFO =
189 const PrecedenceInfo('comment', 0, COMMENT_TOKEN);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698