equals.cc 1.13 KB
Newer Older
1
2
3
#include <iostream>
#include "ltlparse/public.hh"
#include "ltlvisit/equals.hh"
4
#include "ltlvisit/lunabbrev.hh"
5
#include "ltlvisit/tunabbrev.hh"
6
#include "ltlvisit/dump.hh"
7
#include "ltlvisit/nenoform.hh"
8
9

void
10
syntax(char* prog)
11
{
12
  std::cerr << prog << " formula1 formula2" << std::endl;
13
14
15
16
  exit(2);
}

int
17
main(int argc, char** argv)
18
19
20
21
22
23
{
  if (argc != 3)
    syntax(argv[0]);

  
  spot::ltl::parse_error_list p1;
24
  spot::ltl::formula* f1 = spot::ltl::parse(argv[1], p1);
25

26
  if (spot::ltl::format_parse_errors(std::cerr, argv[1], p1))
27
28
29
    return 2;

  spot::ltl::parse_error_list p2;
30
  spot::ltl::formula* f2 = spot::ltl::parse(argv[2], p2);
31
			
32
  if (spot::ltl::format_parse_errors(std::cerr, argv[2], p2))
33
34
    return 2;

35
36
37
#ifdef LUNABBREV
  f1 = spot::ltl::unabbreviate_logic(f1);
  spot::ltl::dump(*f1, std::cout);
38
  std::cout << std::endl;
39
#endif
40
41
42
#ifdef TUNABBREV
  f1 = spot::ltl::unabbreviate_ltl(f1);
  spot::ltl::dump(*f1, std::cout);
43
44
45
46
47
48
  std::cout << std::endl;
#endif
#ifdef NENOFORM
  f1 = spot::ltl::negative_normal_form(f1);
  spot::ltl::dump(*f1, std::cout);
  std::cout << std::endl;
49
#endif
50

51
52
53
54
55
  if (equals(f1, f2))
    return 0;
  return 1;

}