コンパイラ原理プログラミング実践(9)コンパイルとテスト

1291 ワード

1、ダウンロードとMinGWに従って、ページをダウンロードすると:http://sourceforge.net/projects/mingw/files/latest/download?source=files最新のg++コンパイラを持っています.多くの新しい特性をサポートします.
2、makefileとmain.cppファイルを同じディレクトリにコピーする
3、MinGW Shellでコード所在ディレクトリにcd命令で入り、makeコマンドを実行する.
MinGWの経路はlinuxと同様であり、cd/f/projectに似た命令で所在ディレクトリに入る必要がある.
4、1つの1.txtファイルを用意して、内容は
const a =10;
var b,c;
procedure p;
	begin
		c:= b+a;
	end;
begin
	read(b);
	while b#0 do
		begin
			call p
			;write(2*c)
			;read(b)
		end
end
.	
5、実行./main.exeでは、全体の運行過程は以下の通りです.
$ ./main.exe
input file?  1.txt
list object code ?Y
   0 const a =10;
   1 var b,c;
   1 procedure p;
   1    begin
   3            c:= b+a;
   7    end;
2    int 0  3
3    lod 1  3
4    lit 0  10
5    opr 0  2
6    sto 1  4
7    opr 0  0
8    begin
9       read(b);
11      while b#0 do
15              begin
15                      call p
16                      ;write(2*c)
20                      ;read(b)
23              end
23   end
24   .
8    int 0  5
9    opr 0  16
10   sto 0  3
11   lod 0  3
12   lit 0  0
13   opr 0  9
14   jpc 0  24
15   cal 0  2
16   lit 0  2
17   lod 0  4
18   opr 0  4
19   opr 0  14
20   opr 0  15
21   opr 0  16
22   sto 0  3
23   jmp 0  11
24   opr 0  0
start pl0
?2
24
?4
28
?0