問題タブ [camlp4]

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

ocaml - 通常のツリーのような構造で一致を処理するためのコード生成?

私は、いくつかのバイオインフォマティクスを行うための特殊なクワッド ツリーを開発しています。qtree のタイプは次のとおりです。

構築時または歩行時にこれらの木を照合すると、次のようになります。

基本的に、そこにある 16 の組み合わせすべて (空または Nd のいずれかである 4 つのサブツリー) をカバーする必要があります。これは大量の入力であり、エラーが発生しやすくなります。

ただし、これはコード生成に役立つ非常に規則的な構造です。実際には Ruby スクリプトを使用してこのコードを生成するつもりでしたが、campl4 または新しい -ppx スタイルの「マクロ」(より適切な用語がないため) でこれが可能かどうか疑問に思っています。もしそうなら、どうすればこれらの方向のいずれかで始めることができますか?

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

ocaml - Camlp4 パーサー トレース

Camlp4 で簡単なパーサーを書いています。複雑さは、正確な解析シーケンスについて推論するのに苦労するところまで来ています。消費されたトークンと一致したルールを含む解析の「トレース」を生成する最良の方法は何でしょうか。

たとえば、次のパーサー フラグメント:

次のようなトレース フラグメントが出力される場合があります。

Camlp4 にはそのようなものが組み込まれているようには見えないので、可能かどうか疑問に思っています。

0 投票する
2 に答える
106 参照

ocaml - mli ファイルの AST を見る

特定のモジュールの AST が何であるかを確認できるようにして、それに対して適切なフィルターを作成できるようにしたいと考えています。

フィルタに「ログ」する方法が今のところよくわからないので、たとえば一致を試み、一致が失敗した場合はログに記録し、Camlp4AstLifter 関数を使用してモジュールをツリーに変換し、それを出力します。コンソールに出力し、次のようにマッチ パターンを作成しようとします。

mli ファイルを取得し、camlp4 フィルターを使用してこの mli ファイルのデフォルトの実装を作成したい場合、これは現時点では少し不十分です。

Camlp4AstLifter を使用してツリーを表示することはできません。これは、このコマンドが mli で機能しないように思われるため (出力として再度 mli が表示される)、一致しようとしているときに少し盲目になるためです。

誰かがアイデアを得ましたか?または、フィルタリング/マッチングのアプローチを改善する方法についてのヒントかもしれません (まだ正しくやっているとは思えません。非常に面倒です)。

カスパー

0 投票する
2 に答える
100 参照

ocaml - Camlp4 の前処理の結果を確認するにはどうすればよいですか?

というファイルで Sexplib 構文拡張を使用していますmodule.ml。Camlp4 の前処理後にコンパイラに供給されるコードを確認したいと思います。ocamlfind を使用してこれを行う簡単な方法はありますか、それとも camlp4 を直接呼び出してすべての生パラメータを手動で渡す必要がありますか?

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

ocaml - エラー: Camlp4: キャッチされない例外: Not_found

私は Ocsigen の例 ( http://ocsigen.org/tuto/manual/macaque ) に取り組んでいます。

プログラムをコンパイルしようとすると、次のようなエラーが発生します。

私のコードは次のとおりです。

eliom-destillery を使用して基本ファイルを生成しました。「make」を使用してプログラムをコンパイルしました。

さまざまなことを試し、Google検索を実行しましたが、問題がわかりません。どんなヒントでも大歓迎です。

0 投票する
2 に答える
564 参照

parsing - OCaml で OCaml ファイルを解析する

OCamlを使ってOCamlファイル(.ml)を解析したい。分析のためにファイルを抽象構文木に分割したいと考えています。camlp4 を使用しようとしましたが、うまくいきませんでした。他の誰かがこれを成功させたことがありますか? これは OCaml ファイルを解析する最良の方法ですか?

0 投票する
2 に答える
1810 参照

macos - camlp4o はバイトコード実行可能ファイルではありません (osx のエラー)

私は ocaml 3.12 を持っていましたが、1 年間使用していませんでしたが、現在は git から 4.03 にアップグレードしました (自分でコンパイルしました)。インターネットで、このバージョンには camlp4o が含まれていないというコメントをいくつか見ました。問題は、そのためにプログラムをコンパイルできないことです。ハードドライブでそのファイルに移動しましたが、何も問題はありませんが、ターミナルから実行しようとすると、これが表示されます

他のcamlファイルについても同じです。これで問題が解決することを願っていますが、どうすれば更新できますか? 私はosxを使用しています。ありがとう!

0 投票する
2 に答える
108 参照

ubuntu - emacs、ubuntuにcamlp4を含める方法

以下にソースコードがあります。camlp4が見つからないため、機能しないことはわかっていました。現在、私のOSはUbuntuで、emacsエディターにcamlモードを使用しています。このコードを実行できるように、emacs 用に camlp4 を設定するのを手伝ってくれませんか? どうもありがとう

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

list - Ocaml でリストのメンバーにアクセスする方法

以下にソースコードがあります。その構文がわかりません。 [g | t <- ts; g <- symbols t]は非常に奇妙です。それを説明したり、それに関連する本や文書を推薦したりするのを手伝ってください. どうもありがとうございました