#ifndef YACASL2_ASSEMBLE_INCLUDED
#define YACASL2_ASSEMBLE_INCLUDED
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <stdbool.h>
+#include <ctype.h>
+#include <assert.h>
+#include <errno.h>
+#include "cerr.h"
+#include "cmem.h"
+#include "exec.h"
+#include "hash.h"
#include "struct.h"
#include "word.h"
*/
typedef struct _LABELTAB {
struct _LABELTAB *next; /**<リスト次項目へのポインタ */
- char *prog; /**<プログラム名 */
- char *label; /**<ラベル名 */
- WORD adr; /**<アドレス */
+ LABELARRAY *label; /**<ラベル配列 */
} LABELTAB;
/**
*/
bool assemblefile(const char *file, PASS pass);
+/**
+ * @brief 指定された1つまたは複数のファイルを2回アセンブル
+ *
+ * @return なし
+ *
+ * @param filec アセンブルするファイルの数
+ * @param filev アセンブルするファイル名の配列
+ * @param adr アセンブル結果を格納するアドレス
+ */
+void assemble(int filec, char *filev[], WORD adr);
+
/**
* @brief ファイルにアセンブル結果を書き込む
*