私はCのような言語のためのコンパイラを構築しています。私は幾分レクサーとパーサーでやっています。今、私は意味解析をしようとしているし、シンボルテーブルを構築しようとしています。 仕様によれば、重複した宣言は同じ字句レベルでは許可されません。これには、各レキシカルレベルごとに異なるシンボルテーブルを構築する必要があります。これをどうやって行うのですか?今のよう は、私が持っている1つのシンボルテーブルには、各ノードが次のようになり、バイナリツリーの形である:さまざまなレキシカルレベルのシンボルテーブルを作成するにはどうすればよいですか?
struct tree_el
{
char *identifier;
char *type;
struct tree_el *right, *left;
}
私は別のツリーの「ルート」ノードに特定のノードを指してはどうすればよいですか?
どのようなヘルプが素晴らしいでしょう!どうもありがとう。
[Language Implementation Patterns](http://pragprog.com/titles/tpdsl/language-implementation-patterns)を読んだことは本当に楽しいものでしたが、これはシンボルテーブルの作成に関する素晴らしい章でした。 – sarnold