OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright 2014 The Chromium Authors. All rights reserved. | 3 # Copyright 2014 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 import collections | 7 import collections |
8 import re | 8 import re |
9 import optparse | 9 import optparse |
10 import os | 10 import os |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 | 118 |
119 | 119 |
120 class HeaderParser(object): | 120 class HeaderParser(object): |
121 single_line_comment_re = re.compile(r'\s*//') | 121 single_line_comment_re = re.compile(r'\s*//') |
122 multi_line_comment_start_re = re.compile(r'\s*/\*') | 122 multi_line_comment_start_re = re.compile(r'\s*/\*') |
123 enum_line_re = re.compile(r'^\s*(\w+)(\s*\=\s*([^,\n]+))?,?') | 123 enum_line_re = re.compile(r'^\s*(\w+)(\s*\=\s*([^,\n]+))?,?') |
124 enum_end_re = re.compile(r'^\s*}\s*;\.*$') | 124 enum_end_re = re.compile(r'^\s*}\s*;\.*$') |
125 generator_directive_re = re.compile( | 125 generator_directive_re = re.compile( |
126 r'^\s*//\s+GENERATED_JAVA_(\w+)\s*:\s*([\.\w]+)$') | 126 r'^\s*//\s+GENERATED_JAVA_(\w+)\s*:\s*([\.\w]+)$') |
127 multi_line_generator_directive_start_re = re.compile( | 127 multi_line_generator_directive_start_re = re.compile( |
128 r'^\s*//\s+GENERATED_JAVA_(\w+)\s*:\s*([\.\w]*)\\$') | 128 r'^\s*//\s+GENERATED_JAVA_(\w+)\s*:\s*\(([\.\w]*)$') |
129 multi_line_directive_continuation_re = re.compile( | 129 multi_line_directive_continuation_re = re.compile( |
130 r'^\s*//\s+([\.\w]+)\\$') | 130 r'^\s*//\s+([\.\w]+)$') |
131 multi_line_directive_end_re = re.compile( | 131 multi_line_directive_end_re = re.compile( |
132 r'^\s*//\s+([\.\w]*)$') | 132 r'^\s*//\s+([\.\w]*)\)$') |
133 | 133 |
134 optional_class_or_struct_re = r'(class|struct)?' | 134 optional_class_or_struct_re = r'(class|struct)?' |
135 enum_name_re = r'(\w+)' | 135 enum_name_re = r'(\w+)' |
136 optional_fixed_type_re = r'(\:\s*(\w+\s*\w+?))?' | 136 optional_fixed_type_re = r'(\:\s*(\w+\s*\w+?))?' |
137 enum_start_re = re.compile(r'^\s*enum\s+' + optional_class_or_struct_re + | 137 enum_start_re = re.compile(r'^\s*enum\s+' + optional_class_or_struct_re + |
138 '\s*' + enum_name_re + '\s*' + optional_fixed_type_re + '\s*{\s*$') | 138 '\s*' + enum_name_re + '\s*' + optional_fixed_type_re + '\s*{\s*$') |
139 | 139 |
140 def __init__(self, lines, path=None): | 140 def __init__(self, lines, path=None): |
141 self._lines = lines | 141 self._lines = lines |
142 self._path = path | 142 self._path = path |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 | 314 |
315 output_paths = DoGenerate(options, args) | 315 output_paths = DoGenerate(options, args) |
316 | 316 |
317 if options.assert_files_list: | 317 if options.assert_files_list: |
318 AssertFilesList(output_paths, options.assert_files_list) | 318 AssertFilesList(output_paths, options.assert_files_list) |
319 | 319 |
320 return " ".join(output_paths) | 320 return " ".join(output_paths) |
321 | 321 |
322 if __name__ == '__main__': | 322 if __name__ == '__main__': |
323 DoMain(sys.argv[1:]) | 323 DoMain(sys.argv[1:]) |
OLD | NEW |