コンパイラ(字句解析、構文解析、セマンティック解析)を実装する必要があります。 私は既にflex ++の構文を手続き(再帰的なdescent)、 から実装しています。私は意味論(セマンティックルールを既存のパーサに追加する)に取り組んでいることを知っています。 私の質問は - 私はどのように属性を実装するのですか?生産のための例えば 、:すべての文法シンボルのようにだからここに私はTYPEのためのいくつかの構造を作成する必要が文法シンボルの属性はC言語での実装
TYPE.type = integer
、および:
TYPE -> integer
私はセマンティックルールを追加する必要があります。 どうすればその構造を実装できますか?文法記号ごとにいくつかの構造体を作成する必要があり、ファイルの範囲に対してグローバルにする必要がありますか?
p.s.多分それは最良のコンパイラの実装ではなく、割り当てのための必要条件です。