From: j8takagi Date: Wed, 8 Jul 2026 14:55:57 +0000 (+0900) Subject: エラーの整理とエラーテストの追加 X-Git-Tag: v0.6p19~3 X-Git-Url: https://www.j8takagi.net/gitweb?a=commitdiff_plain;h=512d7c4c81fedaf6a6793494d6ce7a4b9596c854;p=yacasl2.git エラーの整理とエラーテストの追加 --- 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