問題タブ [rascal]

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 投票する
2 に答える
234 参照

rascal - このサンプル コードの静的型エラーが、Rascal によって実行時にのみ報告されるのはなぜですか?

Rascal のドキュメントによると、言語は静的に型付けされています。ただし、型エラーは実行時にのみ報告されます。

たとえば、このモジュールを作成すると、int 変数に実数を割り当てているため、型エラーが発生することが予想されます。

モジュールを REPL にインポートし、最後に関数を実行すると:

0 投票する
1 に答える
95 参照

rascal - 宣言で初期化されていない場合、変数は不明です

今日、これに遭遇しました。何か問題があるのではないかと思っていました。

次に、コンソールで:

このように宣言すると、機能します。

問題は、なぜ宣言で初期化する必要があるのですか?

0 投票する
1 に答える
114 参照

rascal - 一時変数を使用せずにマップの値を使用できないのはなぜですか?

これが私のシナリオです:

これにより、次のようになります。

これまではとても良かったのですが、今はこれをやりたかったのですが、うまくいきませんでした:

したがって、g[1] の値を直接使用することはできず、次のような一時変数を使用する必要があります。

しかし、リストを拡張したいときはいつでもこれを行うのは面倒です! 私は何か間違ったことをしていますか、それともこれは素晴らしい機能でしょうか?

リチャード

0 投票する
1 に答える
179 参照

grammar - 文法指定時のラスカルエラー

おもちゃの文法を指定するための単純なファイルがrascalにあります

これはうまくいきますが、問題は私が書きたくなかったことです

書きたかった

しかし、rascal によって解析エラーとして拒否されました。

問題なく受け入れられます。誰かが私が間違っていることを説明できますか?

0 投票する
1 に答える
121 参照

rascal - 私の変数には注釈がありますか?

変数に注釈があるかどうかを確認するにはどうすればよいですか?

これは、キーワードを使用してプロパティに対して実行できることを知っていますhas

注釈に対してこれを行う同様の方法はありますか?

0 投票する
1 に答える
48 参照

rascal - 制限で「または」が発生した場合のリスト内包表記の予期しない結果

次の結果は、私には奇妙な結果に見えます。

私はこれを期待していました。

0 投票する
1 に答える
191 参照

rascal - variable(str name, int id) の「id」はどのような役割を果たしますか?

Eclipse Java コンパイラ (JDT.rsc) によって生成される構文ツリーにアクセスするために、Rascal ライブラリを使用しています。

抽象構文ツリーがどのように機能するかを修正しようとしています。私が見逃していることの1つは、「variableBinding」です。変数宣言という 1 つのステートメントを含む 1MyClassつのメソッドを持つ非常に単純なクラスを想像してください。文字列変数の宣言は、以下の AST 抜粋で表されます。doNothing()myVarmyVar

@bindings注釈内のvariableBindingキーの下に、変数へのパスの連続するコンポーネントを表すリストがありますmyVar。最後の項目は、 Id コンストラクターによって表される実際の変数自体を表しvariable(str name, int id)ます。

質問: ID の意味は何ですか?

doNothing()メソッドを複製して名前を付けると、AST でandがdoNothing2()見つかるため、これは確かに一意ではありません。それは正確に何を識別しますか?variable("doNothing",0)variable("doNothing2",0)

0 投票する
1 に答える
142 参照

rascal - エラー「コンストラクターが見つかりません」

私は現在、小さな DSL を作成するために Rascal を試しています。Pico の例を変更しようとしましたが、現在行き詰まっています。次のコードは例a = 3, b = 7 begin declare x : natural, field real @ cells blubb; x := 5.7 endを完全に解析しますが、implode関数は「PROGRAM のコンストラクターが見つかりません」というエラー メッセージで失敗します。さまざまなコンストラクター宣言を試みましたが、どれも適合しないようでした。予想されるコンストラクターがどのように見えるかを確認する方法はありますか?

構文:

概要:

ロード:

どうもありがとう、クリス