変数名の整理
[YACASL2.git] / include / assemble.h
index 7c6b347..deb83eb 100644 (file)
@@ -21,16 +21,17 @@ typedef struct {
     bool asdetail;        /* アセンブラ詳細結果を表示する場合はtrue */
     bool onlyassemble;    /* アセンブルだけを行う場合はtrue */
 } ASMODE;
-extern ASMODE asmode;
 
-/* 値を格納するポインタ */
-extern WORD ptr;
+extern ASMODE asmode;
 
-/* リテラル(=付きの値)を格納するポインタ */
-extern WORD lptr;
+/* アセンブル時のプロパティ */
+typedef struct {
+    WORD ptr;     /* 現在のポインタ */
+    WORD lptr;    /* リテラル(=付きの値)を格納するポインタ */
+    char *prog;   /* 他のプログラムで参照する入口名 */
+} ASPROP;
 
-/* 他のプログラムで参照する入口名 */
-extern char *prog;
+extern ASPROP *asprop;
 
 /* アセンブラ命令とマクロ命令を表す番号 */
 typedef enum {
@@ -77,6 +78,9 @@ typedef enum {
     SECOND = 1,
 } PASS;
 
+/* アセンブルのエラー定義 */
+bool addcerrlist_assemble();
+
 /* プログラム名とラベルに対応するハッシュ値を返す */
 unsigned labelhash(const char *prog, const char *label);