blob: 9b70d6e0c9463189734afa78b71afe2b628106ea (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
package hastabel_sol_printer;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;
import java.io.File;
public class Parameters
{
private final List<String> level_files;
private final List<String> model_files;
private final Map<String, String> pretty_print_files;
private final List<String> target_predicates;
private final boolean are_valid;
public static void print_usage ()
{
System.out.println
(
"HaStABeL to IDP\n"
+ "USAGE:\n"
+ "\tjava -jar hastabel_sol_printer.jar <FILES>+\n"
+ "PARAMETERS:\n"
+ "\t- <FILES>\tList of files to be loaded.\n"
+ "NOTES:\n"
+ "\t- Property files have a \".pro\" extension.\n"
+ "\t- Model files have a \".mod\" extension.\n"
+ "\t- Level files have a \".lvl\" extension.\n"
+ "\t- Pretty Printing template files have a \".pp\" extension.\n"
+ "\t- The files may be given in any order."
+ "\t- Only content relevant to what is in the \".sol.mod\" and "
+ "\".sol.lvl\" files will be printer."
);
}
public Parameters (final String... args)
{
boolean has_error;
level_files = new ArrayList<String>();
model_files = new ArrayList<String>();
pretty_print_files = new HashMap<String, String>();
target_predicates = new ArrayList<String>();
has_error = false;
for (int i = 0; i < args.length; ++i)
{
if (args[i].endsWith(".sol.mod"))
{
target_predicates.add("???" /* TODO: get pred name from filename */);
model_files.add(args[i]);
}
else if (args[i].endsWith(".lvl"))
{
level_files.add(args[i]);
}
else if (args[i].endsWith(".mod"))
{
model_files.add(args[i]);
}
else if (args[i].endsWith(".pp"))
{
pretty_print_files.put("???", args[i]);
}
else
{
System.err.println
(
"[E] Unknown file type \""
+ args[i]
+ "\"."
);
has_error = true;
}
}
are_valid = !has_error;
}
public List<String> get_level_files ()
{
return level_files;
}
public String get_pretty_print_file_for (final String str)
{
return pretty_print_files.get(str);
}
public List<String> get_model_files ()
{
return model_files;
}
public List<String> get_target_predicates ()
{
return target_predicates;
}
public boolean are_valid ()
{
return are_valid;
}
}
|