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

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

Issue 8681027: Fix bug 578 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: prereviewed Created 9 years, 1 month 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 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 # 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 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. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 '''Generates the many subtypes of Node as well as a NodeVisitor into 5 '''Generates the many subtypes of Node as well as a NodeVisitor into
6 tree.g.dart.''' 6 tree.g.dart.'''
7 7
8 from codegen import CodeWriter 8 from codegen import CodeWriter
9 9
10 class Node: 10 class Node:
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 class Statement(Node): pass 90 class Statement(Node): pass
91 91
92 class Definition(Node): pass 92 class Definition(Node): pass
93 93
94 class TypeReference(Node): pass 94 class TypeReference(Node): pass
95 95
96 nodes = [ 96 nodes = [
97 Definition('Directive', 'Identifier name, List<ArgumentNode> arguments'), 97 Definition('Directive', 'Identifier name, List<ArgumentNode> arguments'),
98 98
99 Definition('Type', 99 Definition('Type',
100 'bool isClass, Identifier name, List<TypeParameter> typeParameters, '+ 100 'bool isClass, Identifier name, List<ParameterType> typeParameters, '+
101 'List<TypeReference> extendsTypes, List<TypeReference> implementsTypes,'+ 101 'List<TypeReference> extendsTypes, List<TypeReference> implementsTypes,'+
102 'NativeType nativeType, TypeReference factoryType, List<Statement> body'), 102 'NativeType nativeType, TypeReference factoryType, List<Statement> body'),
103 103
104 Definition('FunctionType', 104 Definition('FunctionType',
105 'FunctionDefinition func, List<TypeParameter> typeParameters'), 105 'FunctionDefinition func, List<ParameterType> typeParameters'),
106 106
107 Definition('Variable', 107 Definition('Variable',
108 'List<Token> modifiers, TypeReference type, List<Identifier> names,' + 108 'List<Token> modifiers, TypeReference type, List<Identifier> names,' +
109 'List<Expression> values'), 109 'List<Expression> values'),
110 110
111 Definition('Function', 111 Definition('Function',
112 'List<Token> modifiers, TypeReference returnType, Identifier name,' + 112 'List<Token> modifiers, TypeReference returnType, Identifier name,' +
113 'List<FormalNode> formals, List<Expression> initializers,' + 113 'List<FormalNode> formals, List<ParameterType> typeParameters,' +
114 'Statement body'), 114 'List<Expression> initializers, Statement body'),
115 115
116 Statement('Return', 'Expression value'), 116 Statement('Return', 'Expression value'),
117 Statement('Throw', 'Expression value'), 117 Statement('Throw', 'Expression value'),
118 Statement('Assert', 'Expression test'), 118 Statement('Assert', 'Expression test'),
119 119
120 Statement('Break', 'Identifier label'), 120 Statement('Break', 'Identifier label'),
121 Statement('Continue', 'Identifier label'), 121 Statement('Continue', 'Identifier label'),
122 122
123 Statement('If', 123 Statement('If',
124 'Expression test, Statement trueBranch, Statement falseBranch'), 124 'Expression test, Statement trueBranch, Statement falseBranch'),
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 cw.writeln('var output;') 232 cw.writeln('var output;')
233 cw.writeln('TreePrinter(this.output) { output.printer = this; }') 233 cw.writeln('TreePrinter(this.output) { output.printer = this; }')
234 for node in nodes: 234 for node in nodes:
235 node.writePrettyPrintMethod(cw) 235 node.writePrettyPrintMethod(cw)
236 cw.writeln() 236 cw.writeln()
237 cw.exitBlock('}') 237 cw.exitBlock('}')
238 238
239 cw.writeToFile('tree') 239 cw.writeToFile('tree')
240 240
241 if __name__ == '__main__': main() 241 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