私はいくつかの機能をGoに追加することについてのクラスプロジェクトを開始しています。Goは自分自身を解析するためにGoを使用しますか?
しかし、Goの構造については完全に混乱しています。私はGoがflexとbisonを使用したが、Goのソースコードにはなじみのないものは見つけられないという印象を受けました。
一方、go/src/pkg/goディレクトリにはよく知られている名前(ast、token、parserなど)のフォルダがありますが、それらにはすべて.goファイルが含まれています。よくわかりません!
私の要求は、Goに精通している人のうち、Goがどのようにレキシングされ、解析されているか、そして文法やその他のものを編集するためのファイルをどこで見つけるかを概観できますか?
パーザを手で書いても(そしてレクサーの手書きはあまりにも異国的ではない)、私は驚くことはありません。実際には成熟したコンパイラではよくあり、さまざまな利点があります。 – delnan