問題タブ [sprache]

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 に答える
132 参照

compiler-construction - 連鎖式の AST へのモデル化

序文

初めてインタプリタ/コンパイラを書こうとしています。トークン化と解析は、私が理解したように見えるものです。モデル化するのが難しい言語構造がいくつかあるため、私はまだ苦労しています。に変換しようとしているサンプル コードを参照してくださいabstract syntax tree

下線付きの式は、次のようにモデル化されてASTいます。


質問:

A.相互に入れ子にする必要がある場合、チェーンExpressionsを配列としてモデル化する必要がありますか? 後で評価および走査するための最も実用的なモデルは何ですか?

B.ではfunc assignToChainedExpressions、最初の値が であるチェーンに値を割り当てることは理にかなっていExpressionますClassInstantiationか? それinstance自体は実行時に破棄されると思います。

C.ほとんどの例では、Assignment操作に非常に単純なモデルを使用しています。見る:

操作の左側Expressionも同様である場合、より複雑な割り当てをどのようにモデル化する必要がありますか?


編集1:

assignFromChainedExpressions次のようにモデル化することをお勧めします。

assignToChainedExpressions次のようにモデル化することをお勧めします。

0 投票する
3 に答える
177 参照

c# - Sprache で任意の順序で表示される行を解析するにはどうすればよいですか?

Sprache を使用して、次のようなファイルのセクションを解析しています。

3 つの行はすべて必須ですが、任意の順序で表示できます。次のような個々の行のパーサーがあります。

そして、次のように、それらを組み合わせてセクション全体を解析します。

ただし、これは行が OneThing、AnotherThing、YetAnotherThing の順序で表示される場合にのみ機能します。これを変更して、行を任意の順序で表示できるようにするにはどうすればよいですか?

どんな助けでも大歓迎です!ありがとう