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

Side by Side Diff: frog/scripts/tree_gen.py

Issue 8952006: Fix factories in Frog to correspond to the new syntax. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merged, and update test status Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « frog/presubmit.py ('k') | frog/tree.g.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python
1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2011, 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 # 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 # BSD-style license that can be found in the LICENSE file.
4 5
5 '''Generates the many subtypes of Node as well as a NodeVisitor into 6 '''Generates the many subtypes of Node as well as a NodeVisitor into
6 tree.g.dart.''' 7 tree.g.dart.'''
7 8
8 from codegen import CodeWriter 9 from codegen import CodeWriter
9 10
10 class Node: 11 class Node:
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 92
92 class Definition(Node): pass 93 class Definition(Node): pass
93 94
94 class TypeReference(Node): pass 95 class TypeReference(Node): pass
95 96
96 nodes = [ 97 nodes = [
97 Definition('Directive', 'Identifier name, List<ArgumentNode> arguments'), 98 Definition('Directive', 'Identifier name, List<ArgumentNode> arguments'),
98 99
99 Definition('Type', 100 Definition('Type',
100 'bool isClass, Identifier name, List<ParameterType> typeParameters, '+ 101 'bool isClass, Identifier name, List<ParameterType> typeParameters, '+
101 'List<TypeReference> extendsTypes, List<TypeReference> implementsTypes,'+ 102 'List<TypeReference> extendsTypes, List<TypeReference> implementsTypes, '+
102 'NativeType nativeType, TypeReference factoryType, List<Statement> body'), 103 'NativeType nativeType, DefaultTypeReference defaultType, '+
104 'List<Statement> body'),
103 105
104 Definition('FunctionType', 106 Definition('FunctionType',
105 'FunctionDefinition func, List<ParameterType> typeParameters'), 107 'FunctionDefinition func, List<ParameterType> typeParameters'),
106 108
107 Definition('Variable', 109 Definition('Variable',
108 'List<Token> modifiers, TypeReference type, List<Identifier> names,' + 110 'List<Token> modifiers, TypeReference type, List<Identifier> names,' +
109 'List<Expression> values'), 111 'List<Expression> values'),
110 112
111 Definition('Function', 113 Definition('Function',
112 'List<Token> modifiers, TypeReference returnType, Identifier name,' + 114 'List<Token> modifiers, TypeReference returnType, Identifier name,' +
113 'List<FormalNode> formals, List<ParameterType> typeParameters,' + 115 'List<FormalNode> formals, List<Expression> initializers, ' +
114 'List<Expression> initializers, String nativeBody, Statement body'), 116 'String nativeBody, Statement body'),
115 117
116 Statement('Return', 'Expression value'), 118 Statement('Return', 'Expression value'),
117 Statement('Throw', 'Expression value'), 119 Statement('Throw', 'Expression value'),
118 Statement('Assert', 'Expression test'), 120 Statement('Assert', 'Expression test'),
119 121
120 Statement('Break', 'Identifier label'), 122 Statement('Break', 'Identifier label'),
121 Statement('Continue', 'Identifier label'), 123 Statement('Continue', 'Identifier label'),
122 124
123 Statement('If', 125 Statement('If',
124 'Expression test, Statement trueBranch, Statement falseBranch'), 126 'Expression test, Statement trueBranch, Statement falseBranch'),
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 Expression('Literal', 'var value, TypeReference type, String text'), 178 Expression('Literal', 'var value, TypeReference type, String text'),
177 179
178 # TODO(jimhug): Split into Simple and Qualified names 180 # TODO(jimhug): Split into Simple and Qualified names
179 TypeReference('Name', 181 TypeReference('Name',
180 'bool isFinal, Identifier name, List<Identifier> names'), 182 'bool isFinal, Identifier name, List<Identifier> names'),
181 183
182 TypeReference('Generic', 184 TypeReference('Generic',
183 'TypeReference baseType, List<TypeReference> typeArguments, int depth'), 185 'TypeReference baseType, List<TypeReference> typeArguments, int depth'),
184 TypeReference('Function', 186 TypeReference('Function',
185 'bool isFinal, FunctionDefinition func'), 187 'bool isFinal, FunctionDefinition func'),
188 TypeReference('Default', 'bool oldFactory, NameTypeReference baseType, '+
189 'List<ParameterType> typeParameters'),
186 190
187 Node('Argument', 'Identifier label, Expression value'), 191 Node('Argument', 'Identifier label, Expression value'),
188 Node('Formal', 192 Node('Formal',
189 'bool isThis, bool isRest, TypeReference type, Identifier name,'+ 193 'bool isThis, bool isRest, TypeReference type, Identifier name,'+
190 'Expression value'), 194 'Expression value'),
191 195
192 Node('Catch', 196 Node('Catch',
193 'DeclaredIdentifier exception, DeclaredIdentifier trace, Statement body'), 197 'DeclaredIdentifier exception, DeclaredIdentifier trace, Statement body'),
194 Node('Case', 198 Node('Case',
195 'Identifier label, List<Expression> cases, List<Statement> statements'), 199 'Identifier label, List<Expression> cases, List<Statement> statements'),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 cw.writeln('var output;') 233 cw.writeln('var output;')
230 cw.writeln('TreePrinter(this.output) { output.printer = this; }') 234 cw.writeln('TreePrinter(this.output) { output.printer = this; }')
231 for node in nodes: 235 for node in nodes:
232 node.writePrettyPrintMethod(cw) 236 node.writePrettyPrintMethod(cw)
233 cw.writeln() 237 cw.writeln()
234 cw.exitBlock('}') 238 cw.exitBlock('}')
235 239
236 cw.writeToFile('tree') 240 cw.writeToFile('tree')
237 241
238 if __name__ == '__main__': main() 242 if __name__ == '__main__': main()
OLDNEW
« no previous file with comments | « frog/presubmit.py ('k') | frog/tree.g.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698