loom
1/*
2MIT License
3
4Copyright (c) 2024 МГТУ им. Н.Э. Баумана, кафедра ИУ-6, Михаил Фетисов,
5
6https://bmstu.codes/lsx/simodo/loom
7*/
8
9#include "simodo/engine/Analyzer.h"
10#include "simodo/interpret/Interpret.h"
11
12namespace simodo::engine
13{
14Analyzer::Analyzer(inout::Reporter_abstract & m,
15inout::InputStreamSupplier_interface & stream_supplier,
16const std::string & loom_dir,
17const std::string & initial_contracts_file,
18const std::string & source_file,
19interpret::SemanticDataCollector_interface & semantic_data_collector)
20: FrameBody(m, _module_management, PRELOAD_ANALYZE_MODULES, initial_contracts_file, source_file)
21, _loom()
22, _interpret_factory(interpret::InterpretType::Analyzer, m, _loom)
23, _module_management(m, stream_supplier, loom_dir, _interpret_factory, semantic_data_collector)
24{
25}
26
27Analyzer::~Analyzer()
28{
29_loom.wait();
30}
31
32}
33