From 512d7c4c81fedaf6a6793494d6ce7a4b9596c854 Mon Sep 17 00:00:00 2001 From: j8takagi Date: Wed, 8 Jul 2026 23:55:57 +0900 Subject: [PATCH] =?utf8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AE=E6=95=B4?= =?utf8?q?=E7=90=86=E3=81=A8=E3=82=A8=E3=83=A9=E3=83=BC=E3=83=86=E3=82=B9?= =?utf8?q?=E3=83=88=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- as/err/err_123_literal.casl | 4 ++++ as/err/err_128.casl | 4 ++++ src/assemble.c | 4 ++-- src/casl2.c | 5 ++--- test/system/casl2_err/err_123_literal/0.txt | 2 ++ test/system/casl2_err/err_123_literal/Makefile | 2 ++ test/system/casl2_err/err_123_literal/cmd | 1 + test/system/casl2_err/err_126/0.txt | 3 ++- test/system/casl2_err/err_126/cmd | 2 +- test/system/casl2_err/err_127/0.txt | 1 + test/system/casl2_err/err_127/Makefile | 2 ++ test/system/casl2_err/err_127/cmd | 1 + 12 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 as/err/err_123_literal.casl create mode 100644 as/err/err_128.casl create mode 100644 test/system/casl2_err/err_123_literal/0.txt create mode 100644 test/system/casl2_err/err_123_literal/Makefile create mode 100755 test/system/casl2_err/err_123_literal/cmd create mode 100644 test/system/casl2_err/err_127/0.txt create mode 100644 test/system/casl2_err/err_127/Makefile create mode 100755 test/system/casl2_err/err_127/cmd diff --git a/as/err/err_123_literal.casl b/as/err/err_123_literal.casl new file mode 100644 index 0000000..c2e8b43 --- /dev/null +++ b/as/err/err_123_literal.casl @@ -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 index 0000000..8d9ff9a --- /dev/null +++ b/as/err/err_128.casl @@ -0,0 +1,4 @@ +MAIN START + LAD GR1,='' +END RET + END diff --git a/src/assemble.c b/src/assemble.c index 0762485..1af7540 100644 --- a/src/assemble.c +++ b/src/assemble.c @@ -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 */ diff --git a/src/casl2.c b/src/casl2.c index 42059e2..c94c975 100644 --- a/src/casl2.c +++ b/src/casl2.c @@ -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 index 0000000..f8e8c51 --- /dev/null +++ b/test/system/casl2_err/err_123_literal/0.txt @@ -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 index 0000000..b6dac59 --- /dev/null +++ b/test/system/casl2_err/err_123_literal/Makefile @@ -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 index 0000000..46cbbea --- /dev/null +++ b/test/system/casl2_err/err_123_literal/cmd @@ -0,0 +1 @@ +../../../../casl2 ../../../../as/err/err_123_literal.casl diff --git a/test/system/casl2_err/err_126/0.txt b/test/system/casl2_err/err_126/0.txt index 7e5ffef..a080fa2 100644 --- a/test/system/casl2_err/err_126/0.txt +++ b/test/system/casl2_err/err_126/0.txt @@ -1 +1,2 @@ -casl2 error - 126: no source file +Assemble error - 126: '': syntax error in literal +../../../../as/err/err_128.casl: 2: LAD GR1,='' diff --git a/test/system/casl2_err/err_126/cmd b/test/system/casl2_err/err_126/cmd index 0a373c3..fbb3c84 100755 --- a/test/system/casl2_err/err_126/cmd +++ b/test/system/casl2_err/err_126/cmd @@ -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 index 0000000..c13b979 --- /dev/null +++ b/test/system/casl2_err/err_127/0.txt @@ -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 index 0000000..b6dac59 --- /dev/null +++ b/test/system/casl2_err/err_127/Makefile @@ -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 index 0000000..0a373c3 --- /dev/null +++ b/test/system/casl2_err/err_127/cmd @@ -0,0 +1 @@ +../../../../casl2 -- 2.47.3