Pegjs: 偽のTypescriptのサポート

作成日 2018年01月31日  ·  8コメント  ·  ソース: pegjs/pegjs

問題の種類

  • [x]機能リクエスト

Wut

だから、私は実際には#514の@pjmolinaのtypescriptプラグインにかなり興味があります。 ただし、最後にallを返します。

私はあなたが私をだますのを手伝ってくれることを望んでいました。 私は実際には、 peg構文に「これをparse/1の戻り型にする」という何かを追加することによって、わずかに異なる方法でparse/1に署名を書きたいと思っています。また、out型がある場合は、in引数に:stringをマークします。 次に、最後の戻り値などを盲目的に型キャストする必要があります。

typescript(またはflowtype)ユーザーにとって、これは偽物であっても、チェック可能性に大きな影響を及ぼします。

これを実現するために、いくつのカプシノを郵送する必要がありますか。また、どのアドレスに送信しますか。

最も参考になるコメント

こんにちは! これに関連して、プラグインts-pegjsで、プロダクションルールのオプションの出力タイピングを実装しました。 第11号PR 16

returnTypesオプションを介してペア"rule-name": "return-type"のテーブルを使用してそれを行いました。

DSLレベルでpegjsのタイプ情報をオプションで追加して、プロダクションを直接匿名化することにした場合に備えて、私はあなたです。
TypeScript出力、Flow、またはその他の型付きJSバリアントに非常に役立つ可能性があります。

全てのコメント8件

実際に必要なのは、関数のシグネチャを次のように記述することだけです。

function parse(input: string): MyType { ... }

(または何でも)

あなたはこれに触発されることができます。 事前に、すべてのコードブロックのタイプにラベルを付ける必要があります。これは、注釈を使用して行うことができます。 この準備作業の後、ジェネレーターにタイプに関する情報を入力することができます。

@ Mingun-これは興味深いですが、理解するのも非常に困難です

ここでは、注釈はほぼ理想的なケースのようです。これにより、型を使用した個々の解析ルールの注釈が可能になり、複数の実際の型を返すことができます。

@Mingunを理解した奇妙な瞬間もロシア語です。)

実際、TypeScriptは文法の開発を容易にしません。なぜなら、どこでも型に注釈を付ける必要があり、その型システムがちょっと壊れているからです。 最近、私はPEG.tsの作成について小さな実験を行いました。再帰型を指定すると、TypeScriptの型チェッカーがそのような恐ろしいエラーメッセージを吐き出し、それを完了できませんでした。

Infernuのサポートを調べることをお勧めします。

@ polkovnikov-ph-ええ、その選択は私の手にはありません。さらに、1990年代のc ++テンプレート開発者として、typescriptのエラーメッセージは私を怖がらせません

とにかく、私が必要としているのは、タイプスクリプトシステムにパーサーを追加できるようにすることです。したがって、 parse/1からタイプスクリプト注釈を取得することは私にとって価値があります。

今、私はグロスマスタータイプとキャスティングでそれをやっています。 もっと上手くできたらいいのに

image

こんにちは! これに関連して、プラグインts-pegjsで、プロダクションルールのオプションの出力タイピングを実装しました。 第11号PR 16

returnTypesオプションを介してペア"rule-name": "return-type"のテーブルを使用してそれを行いました。

DSLレベルでpegjsのタイプ情報をオプションで追加して、プロダクションを直接匿名化することにした場合に備えて、私はあなたです。
TypeScript出力、Flow、またはその他の型付きJSバリアントに非常に役立つ可能性があります。

人々はまだ#597でこれを求めています

新しいメンテナは.d.tsを作成して収容したので、彼は明らかにタイプスクリプトを受け入れています

これは同じ日の「typescriptがあります」であり、大きな変更はありません。これは、5行のコードと交換用のes6モジュールフッターで実行できます。 なぜそれが行われていないのか分かりません

0.11に対してパッチを用意していますが、 0.11がマージされておらず、 0.12を使用できません。

このページは役に立ちましたか?
0 / 5 - 0 評価