linux/tools/verification/dot2/dot2c

#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <[email protected]>
#
# dot2c: parse an automata in dot file digraph format into a C
#
# This program was written in the development of this paper:
#  de Oliveira, D. B. and Cucinotta, T. and de Oliveira, R. S.
#  "Efficient Formal Verification for the Linux Kernel." International
#  Conference on Software Engineering and Formal Methods. Springer, Cham, 2019.
#
# For further information, see:
#   Documentation/trace/rv/deterministic_automata.rst

if __name__ == '__main__':
    from dot2 import dot2c
    import argparse
    import sys

    parser = argparse.ArgumentParser(description='dot2c: converts a .dot file into a C structure')
    parser.add_argument('dot_file',  help='The dot file to be converted')

    args = parser.parse_args()
    d = dot2c.Dot2c(args.dot_file)
    d.print_model_classic()