2023-01-23 17:31:08 -05:00
|
|
|
// Copyright 2023 xensik. All rights reserved.
|
2022-02-21 10:08:55 -05:00
|
|
|
//
|
|
|
|
// Use of this source code is governed by a GNU GPLv3 license
|
|
|
|
// that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace xsk::arc::t6
|
|
|
|
{
|
|
|
|
|
|
|
|
class context : public arc::context
|
|
|
|
{
|
|
|
|
t6::assembler assembler_;
|
|
|
|
t6::disassembler disassembler_;
|
|
|
|
t6::compiler compiler_;
|
|
|
|
t6::decompiler decompiler_;
|
|
|
|
|
|
|
|
public:
|
|
|
|
void init(build mode, read_cb_type callback);
|
|
|
|
void cleanup();
|
|
|
|
|
|
|
|
auto assembler() -> arc::assembler& { return assembler_; }
|
|
|
|
auto disassembler() -> arc::disassembler& { return disassembler_; }
|
|
|
|
auto compiler() -> arc::compiler& { return compiler_; }
|
|
|
|
auto decompiler() -> arc::decompiler& { return decompiler_; }
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace xsk::arc::t6
|