@@ -16,6 +16,8 @@ Author: Daniel Kroening, dkr@amazon.com
1616#include < util/unicode.h>
1717
1818#include < ebmc/ebmc_error.h>
19+ #include < ebmc/output_file.h>
20+ #include < ebmc/show_modules.h>
1921#include < ebmc/transition_system.h>
2022
2123#include " smv_parser.h"
@@ -70,31 +72,30 @@ std::optional<transition_systemt> smv_ebmc_languaget::transition_system()
7072 return {};
7173 }
7274
73- if (cmdline.isset (" show-modules" ))
75+ if (
76+ cmdline.isset (" show-modules" ) || cmdline.isset (" modules-xml" ) ||
77+ cmdline.isset (" json-modules" ))
7478 {
75- std::size_t count = 0 ;
76- auto &out = std::cout;
79+ show_modulest show_modules;
7780
7881 for (const auto &module : parse_tree.module_list )
79- {
80- count++ ;
82+ show_modules. modules . emplace_back (
83+ module . name , module . base_name , " SMV " , module . source_location ) ;
8184
82- out << " Module " << count << " :" << ' \n ' ;
85+ auto filename = cmdline.value_opt (" outfile" ).value_or (" -" );
86+ output_filet output_file{filename};
87+ auto &out = output_file.stream ();
8388
84- out << " Location: " << module .source_location << ' \n ' ;
85- out << " Identifier: " << module .name << ' \n ' ;
86- out << " Name: " << module .base_name << ' \n ' << ' \n ' ;
87- }
89+ if (cmdline.isset (" show-modules" ))
90+ show_modules.plain_text (out);
91+ else if (cmdline.isset (" modules-xml" ))
92+ show_modules.xml (out);
93+ else if (cmdline.isset (" json-modules" ))
94+ show_modules.json (out);
8895
8996 return {};
9097 }
9198
92- if (cmdline.isset (" modules-xml" ) || cmdline.isset (" json-modules" ))
93- {
94- // show_modules(cmdline, message_handler);
95- return {};
96- }
97-
9899 if (cmdline.isset (" show-module-hierarchy" ))
99100 {
100101 // show_module_hierarchy(cmdline, message_handler);
0 commit comments