Home | History | Annotate | Download | only in cpp
      1 #!/usr/bin/env python
      2 #
      3 # Copyright 2007 Neal Norwitz
      4 # Portions Copyright 2007 Google Inc.
      5 #
      6 # Licensed under the Apache License, Version 2.0 (the "License");
      7 # you may not use this file except in compliance with the License.
      8 # You may obtain a copy of the License at
      9 #
     10 #      http://www.apache.org/licenses/LICENSE-2.0
     11 #
     12 # Unless required by applicable law or agreed to in writing, software
     13 # distributed under the License is distributed on an "AS IS" BASIS,
     14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15 # See the License for the specific language governing permissions and
     16 # limitations under the License.
     17 
     18 """Generic utilities for C++ parsing."""
     19 
     20 __author__ = 'nnorwitz (at] google.com (Neal Norwitz)'
     21 
     22 
     23 import sys
     24 
     25 
     26 # Set to True to see the start/end token indices.
     27 DEBUG = True
     28 
     29 
     30 def ReadFile(filename, print_error=True):
     31     """Returns the contents of a file."""
     32     try:
     33         fp = open(filename)
     34         try:
     35             return fp.read()
     36         finally:
     37             fp.close()
     38     except IOError:
     39         if print_error:
     40             print('Error reading %s: %s' % (filename, sys.exc_info()[1]))
     41         return None
     42