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