doxygen用にコメント修正。関数のstatic指定を外す
[YACASL2.git] / src / token.c
index 02e304d..9731605 100644 (file)
@@ -1,7 +1,12 @@
-#include "casl2.h"
+#include <stdio.h>
+#include <string.h>
+#include "cerr.h"
+#include "cmem.h"
 #include "assemble.h"
 
-/* 「,」区切りの文字列から、オペランドのトークンを取得 */
+/**
+ * 「,」区切りの文字列から、オペランドのトークンを取得
+ */
 OPD *opdtok(const char *str)
 {
     OPD *opd = malloc_chk(sizeof(OPD), "opd");
@@ -9,6 +14,13 @@ OPD *opdtok(const char *str)
     int sepc = ',', rcnt = 0;
     bool quoting = false;
 
+    CERR cerr_opdtok[] = {
+        { 117, "operand too many in DC" },
+        { 118, "operand length too long" },
+        { 121, "cannot get operand token" },
+        { 123, "unclosed quote" },
+    };
+    addcerrlist(ARRAYSIZE(cerr_opdtok), cerr_opdtok);
     opd->opdc = 0;
     if(str == NULL) {
         return opd;
@@ -63,13 +75,20 @@ OPD *opdtok(const char *str)
     return opd;
 }
 
-/* 空白またはタブで区切られた1行から、トークンを取得 */
+/**
+ * 空白またはタブで区切られた1行から、トークンを取得する
+ */
 CMDLINE *linetok(const char *line)
 {
     char *tokens, *p, *sepp;
     bool quoting = false;
     CMDLINE *cmdl = malloc_chk(sizeof(CMDLINE), "cmdl");
 
+    CERR cerr_linetok[] = {
+        { 104, "label length is too long" },
+        { 105, "no command in the line" },
+    };
+    addcerrlist(ARRAYSIZE(cerr_linetok), cerr_linetok);
     if(line == NULL || strlen(line) == 0) {
         return NULL;
     }