1

goでカスタム言語のパーサーを書いています。私の問題は、構文ツリーの各ノードがその型 ( anifまたは avariableDefまたは a funcDef) に基づいて異なるため、値が異なることですが、ツリーのような機能を与えるために、それらのいずれかを指すことができるポインターが必要です。 .

誰かが、ノードを説明するメソッド (実装依存) のinterfaceようなものを持つことを提案しdescribeましたが、問題は、ノードに基づいて異なるものを返すことです。(AfuncDefargs []variableDefandを与えbody []nodeますが、if はcond binandを与えbody []node、変数 def は andtype typを与えますname string)

私はもともとこれを JS で書き、JSON の柔軟性を利用しました。GoにはJSONサポートが組み込まれていると聞いたことがありますが、その道をたどりたいとは思いません。

4

0 に答える 0