Kernel ABI documentation parser class

Parse ABI documentation and produce results from it.

class lib.python.abi.abi_parser.AbiParser(directory, logger=None, enable_lineno=False, show_warnings=True, debug=0)

Bases: object

Main class to parse ABI files.

TAGS = '(what|where|date|kernelversion|contact|description|users)'

Valid tags at Documentation/ABI.

XREF = '(?:^|\\s|\\()(\\/(?:sys|config|proc|dev|kvd)\\/[^,.:;\\)\\s]+)(?:[,.:;\\)\\s]|\\Z)'

ABI elements that will auto-generate cross-references.

add_symbol(what, fname, ln=None, xref=None)

Create a reference table describing where each ‘what’ is located.

check_issues()

Warn about duplicated ABI entries.

desc_rst(desc)

Enrich ReST output by creating cross-references.

desc_txt(desc)

Print description as found inside ABI files.

doc(output_in_txt=False, show_symbols=True, show_file=True, filter_path=None)

Print ABI at stdout.

parse_abi(root=None)

Parse documentation ABI.

parse_file(fname, path, basename)

Parse a single file.

parse_readme(nametag, fname)

Parse ABI README file.

search_symbols(expr)

Searches for ABI symbols.

warn(fdata, msg, extra=None)

Displays a parse error if warning is enabled.

xref(fname)

Converts a Documentation/ABI + basename into a ReST cross-reference.