コメントを閉じろ
#include <stdio.h> int main(void) { int a = 1; int b = 2; /* comment printf("a + b = %d\n", a+b); return 0; }
上のプログラムのように関数内でコメント(/**/)が閉じられていないとき、エラーを知らせるプログラムを作る
C++形式のコメント(//)は省く(というより、閉じる必要が無いため)
う~ん、案外てこずるぞこれw
・関数はmain関数だけじゃない←関数の先頭を探す必要あり
・printf("/*");のように、「"」内のコメントは無効←「”」で囲まれている部分は省く←実はこれもマズイ
・関数の始まりから終わりまでを監視する必要あり←「{」と「}」を入れていくスタックにするか
・fgetsでいくか、fgetcでいくか←fgetcで諸々の処理を施しつつ1行取り込む方法にするか
・っつーかコンパイラがエラー検出してくれるのに←元も子もない
あー、めんどくさいぞこれw
ソースを読み込む時に必要のないデータは全て省くか・・・・
関数の先頭を取得(関数長を求めるプログラムで作成済み)
↓
「/*」または「*/」が入っている行のみを保存
↓
「”」で囲まれていたら無効化
↓
閉じられているかどうか、処理
こんな感じでいけるかなぁ。
とりあえず、もうすこし考える