xref: /openbmc/linux/tools/verification/dot2/dot2c (revision e3c9fc78f096b83e81329b213c25fb9a376e373a)
1*e3c9fc78SDaniel Bristot de Oliveira#!/usr/bin/env python3
2*e3c9fc78SDaniel Bristot de Oliveira# SPDX-License-Identifier: GPL-2.0-only
3*e3c9fc78SDaniel Bristot de Oliveira#
4*e3c9fc78SDaniel Bristot de Oliveira# Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <bristot@kernel.org>
5*e3c9fc78SDaniel Bristot de Oliveira#
6*e3c9fc78SDaniel Bristot de Oliveira# dot2c: parse an automata in dot file digraph format into a C
7*e3c9fc78SDaniel Bristot de Oliveira#
8*e3c9fc78SDaniel Bristot de Oliveira# This program was written in the development of this paper:
9*e3c9fc78SDaniel Bristot de Oliveira#  de Oliveira, D. B. and Cucinotta, T. and de Oliveira, R. S.
10*e3c9fc78SDaniel Bristot de Oliveira#  "Efficient Formal Verification for the Linux Kernel." International
11*e3c9fc78SDaniel Bristot de Oliveira#  Conference on Software Engineering and Formal Methods. Springer, Cham, 2019.
12*e3c9fc78SDaniel Bristot de Oliveira
13*e3c9fc78SDaniel Bristot de Oliveiraif __name__ == '__main__':
14*e3c9fc78SDaniel Bristot de Oliveira    from dot2 import dot2c
15*e3c9fc78SDaniel Bristot de Oliveira    import argparse
16*e3c9fc78SDaniel Bristot de Oliveira    import sys
17*e3c9fc78SDaniel Bristot de Oliveira
18*e3c9fc78SDaniel Bristot de Oliveira    parser = argparse.ArgumentParser(description='dot2c: converts a .dot file into a C structure')
19*e3c9fc78SDaniel Bristot de Oliveira    parser.add_argument('dot_file',  help='The dot file to be converted')
20*e3c9fc78SDaniel Bristot de Oliveira
21*e3c9fc78SDaniel Bristot de Oliveira    args = parser.parse_args()
22*e3c9fc78SDaniel Bristot de Oliveira    d = dot2c.Dot2c(args.dot_file)
23*e3c9fc78SDaniel Bristot de Oliveira    d.print_model_classic()
24