27 lines
727 B
Python
Executable file
27 lines
727 B
Python
Executable file
import sys
|
|
import ltihooks
|
|
import spot
|
|
|
|
e = spot.default_environment.instance()
|
|
p = spot.empty_parse_error_list()
|
|
|
|
l = ['GFa', 'a U (((b)) xor c)', '!(FFx <=> Fx)', 'a \/ a \/ b \/ a \/ a'];
|
|
|
|
for str1 in l:
|
|
f = spot.parse(str1, p, e, 0)
|
|
if spot.format_parse_errors(spot.get_cout(), str1, p):
|
|
sys.exit(1)
|
|
str2 = str(f)
|
|
spot.destroy(f)
|
|
print str2
|
|
# Try to reparse the stringified formula
|
|
f = spot.parse(str2, p, e)
|
|
if spot.format_parse_errors(spot.get_cout(), str2, p):
|
|
sys.exit(1)
|
|
print f
|
|
spot.destroy(f)
|
|
|
|
assert spot.atomic_prop.instance_count() == 0
|
|
assert spot.binop.instance_count() == 0
|
|
assert spot.unop.instance_count() == 0
|
|
assert spot.multop.instance_count() == 0
|