import Parsing
import Version
from Scanning import PyrexScanner, FileSourceDescriptor
-from Errors import PyrexError, CompileError, error
+from Errors import PyrexError, CompileError, InternalError, error
from Symtab import BuiltinScope, ModuleScope
from Cython import Utils
from Cython.Utils import open_new_file, replace_suffix
except CompileError, err:
# err is set
Errors.report_error(err)
+ except InternalError, err:
+ # Only raise if there was not an earlier error
+ if Errors.num_errors == 0:
+ raise
return (err, data)
def find_module(self, module_name,
s.included_files.append(include_file_name)
f = Utils.open_source_file(include_file_path, mode="rU")
source_desc = FileSourceDescriptor(include_file_path)
- s2 = PyrexScanner(f, source_desc, s, source_encoding=f.encoding)
- s2.parse_comments = s.parse_comments
+ s2 = PyrexScanner(f, source_desc, s, source_encoding=f.encoding, parse_comments=s.parse_comments)
try:
tree = p_statement_list(s2, ctx)
finally:
resword_dict = build_resword_dict()
def __init__(self, file, filename, parent_scanner = None,
- scope = None, context = None, source_encoding=None):
+ scope = None, context = None, source_encoding=None, parse_comments=True):
Scanner.__init__(self, get_lexicon(), file, filename)
if parent_scanner:
self.context = parent_scanner.context
self.compile_time_env = initial_compile_time_env()
self.compile_time_eval = 1
self.compile_time_expr = 0
- self.parse_comments = True
+ self.parse_comments = parse_comments
self.source_encoding = source_encoding
self.trace = trace_scanner
self.indentation_stack = [0]