From 855bc77bcf3a39859e590abc4b95311b317c1b49 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 30 Aug 2019 13:53:53 +0200 Subject: add codegen MVP for online model overhead analysis --- bin/generate-dummy-class.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 bin/generate-dummy-class.py (limited to 'bin') diff --git a/bin/generate-dummy-class.py b/bin/generate-dummy-class.py new file mode 100755 index 0000000..2200486 --- /dev/null +++ b/bin/generate-dummy-class.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +from aspectc import Repo +from codegen import MultipassDriver +from automata import PTA +import yaml + +with open('/home/derf/var/projects/multipass/model/driver/nrf24l01.dfa', 'r') as f: + driver_definition = yaml.safe_load(f) + pta = PTA.from_yaml(driver_definition) +repo = Repo('/home/derf/var/projects/multipass/build/repo.acp') + +enum = dict() + +if 'dummygen' in driver_definition and 'enum' in driver_definition['dummygen']: + enum = driver_definition['dummygen']['enum'] + +drv = MultipassDriver('Nrf24l01', pta, repo.class_by_name['Nrf24l01'], enum=enum) + +with open('/home/derf/var/projects/multipass/src/driver/dummy.cc', 'w') as f: + f.write(drv.impl) +with open('/home/derf/var/projects/multipass/include/driver/dummy.h', 'w') as f: + f.write(drv.header) -- cgit v1.2.3