ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Writing Compilers and Interpreters: その6

シンボルテーブルを作りました。
この本にでてくるのは、スタック型のデータ構造でシンボルを管理しています。ツリーで全部作りきった方が良さそうな気がするのですが、パースしながらネストに沿ってスタックを伸ばしたり縮めたりするようです。ネストの処理は9章でやるようです。

このソースコードに対して、シンボルテーブルが出力できるようになりました。

====== CROSS-REFERENCE TABLE ======

Identifier        Line numbers   
----------        ----------- 
abs             031 033 
epsilon         004 033 
input           001 
integer         007 
newton          001 
number          007 014 016 017 019 023 024 029 033 035 
output          001 
read            014 
real            008 
root            008 027 029 029 029 030 031 033 
sqr             033 
sqroot          008 023 024 031 031 
sqrt            023 
write           013 
writeln         012 017 020 024 025 030 
0 instructions generated