Ich beginne ein Klassenprojekt, das Go einige Funktionen hinzufügt.Go verwendet Go zum Parsen selbst?
Allerdings bin ich gründlich über die Struktur von Go verwirrt. Ich hatte den Eindruck, dass Go Flex und Bison benutzt hat, aber ich kann nichts finden, was mir im Go-Quellcode bekannt ist.
Auf der anderen Seite hat das Verzeichnis go/src/pkg/go Ordner mit bekannten Namen (ast, Token, Parser usw.), aber alles, was sie enthalten, sind .go-Dateien. Ich bin verwirrt!
Meine Anfrage ist, von jedem, der mit Go vertraut ist, können Sie mir einen Überblick geben, wie Go lexed, geparst usw. ist und wo die Dateien zu finden sind, um die Grammatik zu bearbeiten und was nicht?
Ich wäre nicht überrascht, wenn sie den Parser mit der Hand geschrieben haben (und das Hand-Rollen eines Lexers ist auch nicht fürchterlich fremdartig). Es ist eigentlich ziemlich üblich für reife Compiler und hat verschiedene Vorteile. – delnan