projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
エラーメッセージの微調整
[YACASL2.git]
/
src
/
casl2.c
diff --git
a/src/casl2.c
b/src/casl2.c
index
1f18a40
..
c272d05
100644
(file)
--- a/
src/casl2.c
+++ b/
src/casl2.c
@@
-37,6
+37,14
@@
CERR cerr_casl2[] = {
{ 126, "no source file" },
};
{ 126, "no source file" },
};
+/**
+ * CASL IIのエラーをエラーリストに追加
+ */
+void addcerrlist_casl2()
+{
+ addcerrlist(ARRAYSIZE(cerr_casl2), cerr_casl2);
+}
+
/**
* アセンブル結果を書き込むファイルの名前
*/
/**
* アセンブル結果を書き込むファイルの名前
*/
@@
-61,7
+69,7
@@
int main(int argc, char *argv[])
"Usage: %s [-slLaAtTdh] [-oO[<OBJECTFILE>]] [-M <MEMORYSIZE>] [-C <CLOCKS>] FILE1[ FILE2 ...]\n";
cerr_init();
"Usage: %s [-slLaAtTdh] [-oO[<OBJECTFILE>]] [-M <MEMORYSIZE>] [-C <CLOCKS>] FILE1[ FILE2 ...]\n";
cerr_init();
- addcerrlist
(ARRAYSIZE(cerr_casl2), cerr_casl2
);
+ addcerrlist
_casl2(
);
addcerrlist_assemble();
addcerrlist_exec();
/* オプションの処理 */
addcerrlist_assemble();
addcerrlist_exec();
/* オプションの処理 */
@@
-127,16
+135,15
@@
int main(int argc, char *argv[])
for(pass = FIRST; pass <= SECOND; pass++) {
if(pass == FIRST) {
create_cmdtype_code(); /* 命令の名前とタイプがキーのハッシュ表を作成 */
for(pass = FIRST; pass <= SECOND; pass++) {
if(pass == FIRST) {
create_cmdtype_code(); /* 命令の名前とタイプがキーのハッシュ表を作成 */
- asp
rop = malloc_chk(sizeof(ASPROP), "asprop
"); /* アセンブル時のプロパティ用の領域確保 */
+ asp
tr = malloc_chk(sizeof(ASPTR), "asptr
"); /* アセンブル時のプロパティ用の領域確保 */
}
for(i = optind; i < argc; i++) {
/* データの格納開始位置 */
if(pass == FIRST) {
}
for(i = optind; i < argc; i++) {
/* データの格納開始位置 */
if(pass == FIRST) {
- beginptr[i] = asp
rop
->ptr;
+ beginptr[i] = asp
tr
->ptr;
} else if(pass == SECOND) {
} else if(pass == SECOND) {
- asp
rop
->ptr = beginptr[i];
+ asp
tr
->ptr = beginptr[i];
}
}
- asprop->prog = NULL;
if(execmode.trace == true || execmode.dump == true || asmode.src == true ||
asmode.label == true || asmode.asdetail == true)
{
if(execmode.trace == true || execmode.dump == true || asmode.src == true ||
asmode.label == true || asmode.asdetail == true)
{
@@
-156,15
+163,14
@@
int main(int argc, char *argv[])
}
if(pass == SECOND) {
freelabel(); /* ラベルハッシュ表を解放 */
}
if(pass == SECOND) {
freelabel(); /* ラベルハッシュ表を解放 */
- free_chk(asprop->prog, "asprop.prog"); /* プログラム名を解放 */
- free_chk(asprop, "asprop"); /* アセンブル時のプロパティを解放 */
free_cmdtype_code(); /* 命令の名前とタイプがキーのハッシュ表を解放 */
free_cmdtype_code(); /* 命令の名前とタイプがキーのハッシュ表を解放 */
+ FREE(asptr); /* アセンブル時のプロパティを解放 */
}
}
if(res == true) {
if(objfile != NULL) {
outassemble(objfile);
}
}
if(res == true) {
if(objfile != NULL) {
outassemble(objfile);
-
free_chk(objfile, "objfile"
);
+
FREE(objfile
);
}
if(asmode.onlyassemble == false) {
create_code_type(); /* 命令のコードとタイプがキーのハッシュ表を作成 */
}
if(asmode.onlyassemble == false) {
create_code_type(); /* 命令のコードとタイプがキーのハッシュ表を作成 */