diff -r af054201710a sepolgen/src/sepolgen/refparser.py --- a/sepolgen/src/sepolgen/refparser.py Thu Feb 22 15:42:47 2007 -0500 +++ b/sepolgen/src/sepolgen/refparser.py Thu Feb 22 17:07:44 2007 -0500 @@ -611,11 +611,11 @@ def prep_spt(spt): parser = None lexer = None -def create_globals(module, support): +def create_globals(module, support, debug): global parser, lexer, m, spt if not parser: lexer = lex.lex() - parser = yacc.yacc(method="LALR", debug=0, write_tables=0) + parser = yacc.yacc(method="LALR", debug=debug, write_tables=0) if module is not None: m = module @@ -627,13 +627,13 @@ def create_globals(module, support): else: spt = support -def parse(text, module=None, support=None): - create_globals(module, support) +def parse(text, module=None, support=None, debug=False): + create_globals(module, support, debug) lexer.lexdata = [] lexer.lexpos = 0 try: - parser.parse(text, debug=0) + parser.parse(text, debug=debug) except Exception, e: global error error = "internal parser error: %s" % str(e) @@ -670,7 +670,7 @@ def list_headers(root): return (modules, support_macros) -def parse_headers(root, output=None, expand=True): +def parse_headers(root, output=None, expand=True, debug=False): import util headers = refpolicy.Headers() @@ -696,11 +696,13 @@ def parse_headers(root, output=None, exp output.write(msg) def parse_file(f, module, spt=None): + if debug: + o("parsing file %s\n" % f) try: fd = open(f) txt = fd.read() fd.close() - parse(txt, module, spt) + parse(txt, module, spt, debug) except IOError, e: return except ValueError, e: @@ -726,7 +728,7 @@ def parse_headers(root, output=None, exp o("done.\n") - if output: + if output and not debug: status = util.ConsoleProgressBar(sys.stdout, steps=len(modules)) status.start("Parsing interface files") @@ -744,7 +746,7 @@ def parse_headers(root, output=None, exp continue headers.children.append(m) - if output: + if output and not debug: status.step() if len(failures):