1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
7 */
8
9#ifndef _MAL_LISTING_H
10#define _MAL_LISTING_H
11
12#include "mal_type.h"
13#include "mal_stack.h"
14#include "mal_instruction.h"
15
16mal_export str fcnDefinition(MalBlkPtr mb, InstrPtr p, str s, int flg, str base, size_t len);
17mal_export void printInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg);
18mal_export void fprintInstruction(FILE *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int flg);
19mal_export str instruction2str(MalBlkPtr mb, MalStkPtr stl, InstrPtr p, int hidden);
20mal_export str shortStmtRendering(MalBlkPtr mb, MalStkPtr stl, InstrPtr p);
21mal_export str mal2str(MalBlkPtr mb, int first, int last);
22mal_export void showMalBlkHistory(stream *out, MalBlkPtr mb);
23
24#endif /* _MAL_LIST_H */
25