loom

Форк
0
/
InterpretFactory.cpp 
48 строк · 1.4 Кб
1
/*
2
MIT License
3

4
Copyright (c) 2022 МГТУ им. Н.Э. Баумана, кафедра ИУ-6, Михаил Фетисов,
5

6
https://bmstu.codes/lsx/simodo
7
*/
8

9
#include "simodo/interpret/InterpretFactory.h" 
10
#include "simodo/interpret/Interpret.h"
11

12
#include <cassert>
13

14
namespace simodo::interpret
15
{
16
    InterpretFactory::InterpretFactory(
17
                            InterpretType type,
18
                            inout::Reporter_abstract & m, 
19
                            loom::Loom_interface & loom,  
20
                            Logistics_interface & logistics)
21
        : _type(type)
22
        , _m(m)
23
        , _loom(loom)
24
        , _logistics(logistics)
25
    {
26
    }
27

28
    Interpret_interface * InterpretFactory::create()
29
    {
30
        return new Interpret(_type, _m, _loom, _semantic_factories, _logistics);
31
    }
32

33
    Interpret_interface * InterpretFactory::create(InterpretType type,
34
                                                inout::uri_set_t files, 
35
                                                const ast::Node & code,
36
                                                interpret::SemanticModules hosts)
37
    {
38
        return new Interpret(type, _m, _loom, files, code, hosts);
39
    }
40

41
    void InterpretFactory::setSemanticFactories(SemanticFactories semantic_factories)
42
    {
43
        assert(_semantic_factories.empty());
44

45
        _semantic_factories = semantic_factories;
46
    }
47

48
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.