]> j8takagi.net git repositories - yacasl2.git/commitdiff
エラーの整理とエラーテストの追加
authorj8takagi <j8takagi@nifty.com>
Wed, 8 Jul 2026 14:55:57 +0000 (23:55 +0900)
committerj8takagi <j8takagi@nifty.com>
Wed, 8 Jul 2026 14:55:57 +0000 (23:55 +0900)
12 files changed:
as/err/err_123_literal.casl [new file with mode: 0644]
as/err/err_128.casl [new file with mode: 0644]
src/assemble.c
src/casl2.c
test/system/casl2_err/err_123_literal/0.txt [new file with mode: 0644]
test/system/casl2_err/err_123_literal/Makefile [new file with mode: 0644]
test/system/casl2_err/err_123_literal/cmd [new file with mode: 0755]
test/system/casl2_err/err_126/0.txt
test/system/casl2_err/err_126/cmd
test/system/casl2_err/err_127/0.txt [new file with mode: 0644]
test/system/casl2_err/err_127/Makefile [new file with mode: 0644]
test/system/casl2_err/err_127/cmd [new file with mode: 0755]

diff --git a/as/err/err_123_literal.casl b/as/err/err_123_literal.casl
new file mode 100644 (file)
index 0000000..c2e8b43
--- /dev/null
@@ -0,0 +1,4 @@
+MAIN    START
+        LAD     GR1,='a
+END     RET
+        END
diff --git a/as/err/err_128.casl b/as/err/err_128.casl
new file mode 100644 (file)
index 0000000..8d9ff9a
--- /dev/null
@@ -0,0 +1,4 @@
+MAIN    START
+        LAD     GR1,=''
+END     RET
+        END
index 0762485501f5a7e906b8568a127e3359bdc5cf38..1af7540585b03f0e00d4508b090aeebeffec0691 100644 (file)
@@ -263,7 +263,7 @@ static CERR cerr_assemble[] = {
     { 122, "cannot create hash table" },
     { 124, "more than one character in literal" },
     { 125, "not GR in operand x" },
-    { 128, "syntax error in literal" },
+    { 126, "syntax error in literal" },
 };
 
 /**
@@ -347,7 +347,7 @@ WORD getliteral(const char *str, PASS pass)
 
     if(str[0] == '\'') {
         if(str[1] == '\'' && str[2] != '\'') {
-            setcerr(128, str);    /* syntax error in literal */
+            setcerr(126, str);    /* syntax error in literal */
             return 0;
         } else if((str[1] == '\'' && str[2] == '\'' && str[3] == '\0') || str[2] == '\0' ) {
             setcerr(123, str);    /* unclosed quote */
index 42059e2ecd6cdf5c1b809f48784563652d21fc7c..c94c97548eb80004229b0c126d242bca2fed8e3a 100644 (file)
@@ -46,8 +46,7 @@ static struct option longopts[] = {
  * @brief casl2のエラー定義
  */
 CERR cerr_casl2[] = {
-    { 126, "no source file" },
-    { 127, "invalid option" },
+    { 127, "no source file" },
 };
 
 void addcerrlist_casl2()
@@ -161,7 +160,7 @@ int main(int argc, char *argv[])
 
     /* ソースファイルが指定されていない場合は終了 */
     if(argv[optind] == NULL) {
-        setcerr(126, "");    /* no source file */
+        setcerr(127, "");    /* no source file */
         fprintf(stderr, "casl2 error - %d: %s\n", cerr->num, cerr->msg);
         goto casl2fin;
     }
diff --git a/test/system/casl2_err/err_123_literal/0.txt b/test/system/casl2_err/err_123_literal/0.txt
new file mode 100644 (file)
index 0000000..f8e8c51
--- /dev/null
@@ -0,0 +1,2 @@
+Assemble error - 123: GR1,='a: unclosed quote
+../../../../as/err/err_123_literal.casl:    2:        LAD     GR1,='a
diff --git a/test/system/casl2_err/err_123_literal/Makefile b/test/system/casl2_err/err_123_literal/Makefile
new file mode 100644 (file)
index 0000000..b6dac59
--- /dev/null
@@ -0,0 +1,2 @@
+include ../Define.mk
+include ../Test.mk
diff --git a/test/system/casl2_err/err_123_literal/cmd b/test/system/casl2_err/err_123_literal/cmd
new file mode 100755 (executable)
index 0000000..46cbbea
--- /dev/null
@@ -0,0 +1 @@
+../../../../casl2 ../../../../as/err/err_123_literal.casl
index 7e5ffefbb99f66d0816d42ff0240647d1c4a6967..a080fa2ab2cee867ed84b65ad76e90ce0997998f 100644 (file)
@@ -1 +1,2 @@
-casl2 error - 126: no source file
+Assemble error - 126: '': syntax error in literal
+../../../../as/err/err_128.casl:    2:        LAD     GR1,=''
index 0a373c3cdee08eb4ed7655257ab39e0730ccb034..fbb3c84c22c79766bd9fc76a25ba31d28efc7b97 100755 (executable)
@@ -1 +1 @@
-../../../../casl2
+../../../../casl2 ../../../../as/err/err_128.casl
diff --git a/test/system/casl2_err/err_127/0.txt b/test/system/casl2_err/err_127/0.txt
new file mode 100644 (file)
index 0000000..c13b979
--- /dev/null
@@ -0,0 +1 @@
+casl2 error - 127: no source file
diff --git a/test/system/casl2_err/err_127/Makefile b/test/system/casl2_err/err_127/Makefile
new file mode 100644 (file)
index 0000000..b6dac59
--- /dev/null
@@ -0,0 +1,2 @@
+include ../Define.mk
+include ../Test.mk
diff --git a/test/system/casl2_err/err_127/cmd b/test/system/casl2_err/err_127/cmd
new file mode 100755 (executable)
index 0000000..0a373c3
--- /dev/null
@@ -0,0 +1 @@
+../../../../casl2