#include "hash.h"
#include "struct.h"
#include "word.h"
-
-/**
- * @brief CASL IIの仕様
- */
-enum {
- LABELSIZE = 8, /**<ラベルの最大文字数 */
- OPDSIZE = 40, /**<オペラントの最大数。CASL IIシミュレータの制限 */
-};
-
-/**
- * @brief YACASL2の制限
- */
-enum {
- LINESIZE = 1024, /**<行の最大文字数 */
- TOKENSIZE = 256, /**<トークンの最大文字数 */
-};
+#include "token.h"
/**
* @brief アセンブルモードを表すデータ型
*/
void freelabel();
-/**
- * @brief オペランドを表すデータ型
- */
-typedef struct {
- int opdc; /**<オペランド数 */
- char *opdv[OPDSIZE]; /**<オペランド配列 */
-} OPD;
-
-/**
- * @brief 命令行を表すデータ型
- */
-typedef struct {
- char *label; /**<ラベル */
- char *cmd; /**<コマンド */
- OPD *opd; /**<オペランド */
-} CMDLINE;
-
-/**
- * @brief トークン取得のエラーを追加する
- *
- * @return なし
- */
-void addcerrlist_tok();
-
-/**
- * @brief 行から、ラベル・コマンド・オペランドを取得する
- *
- * @return ラベル・コマンド・オペランド
- *
- * @param *line 行
- */
-CMDLINE *linetok(const char *line);
-
/**
* @brief アセンブルエラーをエラーリストに追加する
*