Reporting

To create a nice report of what happened during compilation, this file implements several reporting types.

Reports can be written to plain text, or html.

class ppci.utils.reporting.DummyReportGenerator

Report generator which reports into the void

dump_exception(einfo)

List the given exception in report

dump_instructions(instructions, arch)

Print instructions

class ppci.utils.reporting.HtmlReportGenerator(dump_file)
annotate_source(src, mod)

Annotate source code.

dump_dag(dags)

Write selection dag to dumpfile

dump_exception(einfo)

List the given exception in report

dump_frame(frame)

Dump frame to file for debug purposes

dump_instructions(instructions, arch)

Print instructions

dump_raw_text(text)

Spitout text not to be formatted

dump_source(name, source_code)

Report web assembly module

tcell(txt, indent=0)

Inject a html table cell.

class ppci.utils.reporting.MyHandler(backlog)
emit(record)

Do whatever it takes to actually log the specified logging record.

This version is intended to be implemented by subclasses and so raises a NotImplementedError.

class ppci.utils.reporting.ReportGenerator

Implement all these function to create a custom reporting generator

dump_exception(einfo)

List the given exception in report

dump_instructions(instructions, arch)

Print instructions

dump_wasm(wasm_module)

Report web assembly module

class ppci.utils.reporting.TextReportGenerator(dump_file)
dump_dag(dags)

Write selection dag to dumpfile

dump_exception(einfo)

List the given exception in report

dump_frame(frame)

Dump frame to file for debug purposes

class ppci.utils.reporting.TextWritingReporter(dump_file)
dump_instructions(instructions, arch)

Print instructions

print(*args, end='\n')

Convenience helper for printing to dumpfile

ppci.utils.reporting.html_reporter(filename)

Create a reporter that generates a HTML report.