問題タブ [go-interface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
200 参照

go - Go で AST を作成する

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サポートが組み込まれていると聞いたことがありますが、その道をたどりたいとは思いません。