blob: 7a25561f5f8995c1d90a0d710368e6dbef699dc3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#!/usr/bin/env python3
import sys
import argparse
parser = argparse.ArgumentParser(
description='Property to Predicate parser.'
)
parser.add_argument(
"predicate_name",
action='store',
type=str,
help="Name of the predicate."
)
parser.add_argument(
"output_template_file",
action='store',
type=argparse.FileType(mode='w',encoding='UTF-8'),
help="Predicate from Property template file."
)
parser.add_argument(
"inferred_level",
action='store',
type=argparse.FileType(mode='a',encoding='UTF-8'),
help="Inferred level file."
)
args = parser.parse_args()
var_names = list()
var_types = list()
for line in sys.stdin.readlines():
line_data = line.strip().split(" ")
print(line_data)
var_name = line_data[0].strip()
var_type = line_data[1].strip()
args.inferred_level.write("(add_type " + var_type + ")\n")
var_names.append(var_name)
var_types.append(var_type)
args.inferred_level.write(
"(add_predicate _"
+ args.predicate_name
+ " "
+ ' '.join(var_types)
+ ")\n"
)
params = ""
for i in range(len(var_types)):
if (var_types[i] == "waveform"):
new_id = ("$" + var_names[i] + ".WFM_ID$")
else:
new_id = ("$" + var_names[i] + ".ID$")
params += (" " + new_id)
args.output_template_file.write(
"(add_element "
+ var_types[i]
+ " "
+ new_id
+ ")\n"
)
args.output_template_file.write(
"(_"
+ args.predicate_name
+ params
+ ")\n"
)
|