[1513] lexicalanalyzer.c について
投稿者:yuya
2010/03/13 09:10:00
「プログラミング言語を作る」p.59の、
lexicalanalyzer.c の23~24行からの構造を見ると、
token->kind = BAD_TOKEN;
while(st_line[st_line_pos] != '\0'){
/* メインの処理 */
}
となっています。'\0'に出会ったら BAD_TOKEN として処理するという意図だと思いますが、
現状だと'\0'が現れた時点でwhileを抜けてしまうので、
st_line_pos がインクリメントされないまま再び get_token() が呼ばれてしまい、
実行時に無限ループに陥ります。
一度ご確認ください。
# ただいま「プログラミング言語を作る」を骨の髄までしゃぶる勢いで読んでます。
# 面白すぎて睡眠不足(笑)。