최성준
가입: 2011년 10월 28일 올린 글: 8
|
올려짐: 2012년11월8일 13:02 주제: [HW 5-2] 소소한 실행기를 만들어 보았습니다 |
|
|
5-2를 하려면 먼저 5-2를 돌리고 5-1도 돌리고 그래야 되잖아요? 그런데 저는 잘 안되서 디버그를 많이 해야 되더라구요. 디버그하다 보니 아웃풋 복사해서 다시 붙여넣고 이래저래 하는게 참 귀찮더라구요 ㅠㅠㅠ 그래서 이걸 한 번에 해주는 integrated run 스크립트를 만들어 보았습니다. 나름 편리한 것 같아서 공개합니당 ㅋㅋㅋ 소소하게나마 많은 도움 되시길 바래요.
코드: |
make
./run t.m | tee out.txt
cd ../hw5_1
make
time ./run ../hw5_2/out.txt | tee lout.txt
#sed '10q;d' lout.txt > ../hw5_2/analysis.txt
|
사용법 :
hw5_2 디렉토리에서 vi irun 하고 위의 내용을 치시고 chmod 777 irun을 합니다.
hw5_2/main.ml을 다음과 같이 수정합니다. 수정 전에는 주석 처리가 안 되어있습니다.
코드: |
(*print_string "=============\n";
print_string "input program\n";
print_string "=============\n";
M_Printer.print pgm;
print_string "\n\n\n============\n";
print_string "output program\n";
print_string "=============\n";
*)Pp.pp (HW.encode pgm);
print_string "\n"
|
시멘틱:
hw5_2/t.m에 있는 파일을 읽어서 hw5_2/run을 돌려서 out.txt에 넣어놉니다. 이걸 다시 읽어서 hw5_1/run의 인풋으로 주고요, 그 결과를 hw5_1/lout.txt에 넣어줍니다. 만약 hw5_1에서 추가적인 디버그 정보들을 출력하고 있다면 코드에서 #된 부분을 지우고 쓰셔도 됩니다. 주석처리된 부분이 말하는 것은 lout.txt의 10번째 줄을 읽어다가 analysis.txt에 넣어라 이런 건데 저는 10번째 줄에 hw5_1/run이 파스한 결과를 출력하도록 했었거든요.
조건:
당연히 hw5_2/t.m이 있고 거기에 정보가 들어가 있어야겠죠? 그리고 out.txt에 순수한 결과를 넣기 위해서 hw5_2/main.ml을 위와 같이 수정해야 합니다 |
|