Pegjs: دعم كتابة نصية وهمية

تم إنشاؤها على ٣١ يناير ٢٠١٨  ·  8تعليقات  ·  مصدر: pegjs/pegjs

نوع القضية

  • [x] طلب الميزة

ووت

لذلك ، أنا في الواقع جميلة في المكون الإضافي للطباعة المطبوعة pjmolina من # 514. ومع ذلك ، في النهاية ، يتم إرجاع all .

كنت أتمنى أن تساعدني في الغش. في الواقع ، أريد فقط كتابة التوقيع إلى parse/1 بشكل مختلف قليلاً ، عن طريق إضافة نوع من الأشياء إلى بناء الجملة peg الذي يقول "اجعل هذا نوع الإرجاع parse/1 ،" وأيضًا بوضع علامة على الوسيطة في :string إذا كان هناك نوع خارجي. بعد ذلك ، سيكون عليك فقط كتابة آخر قيمة مرتجعة بشكل أعمى ، وما إلى ذلك.

بالنسبة للمستخدم المطبوع (أو الانسيابي) ، سيكون لهذا تأثير عميق على إمكانية التحقق ، على الرغم من أنها مزيفة .

كم عدد الكابوتشينو الذي أحتاجه لإرسال بريد إليك من أجل تحقيق ذلك ، وإلى أي عنوان سأرسله إليهم

التعليق الأكثر فائدة

مرحبا! مرتبطًا بهذا ، في المكون الإضافي ts-pegjs قمنا بتنفيذ كتابة إخراج اختيارية لقواعد الإنتاج. العدد 11 ، العلاقات العامة 16

لقد فعلنا ذلك باستخدام جدول أزواج "rule-name": "return-type" عبر الخيار returnTypes .

أنا نسخة إلى لك ، فقط في حالة ما إذا قررت إضافة معلومات الكتابة اختياريًا على pegjs على مستوى DSL إلى عمليات الإنتاج المرتبطة مباشرة.
قد يكون مفيدًا جدًا لإخراج TypeScript ، وكذلك لـ Flow ، أو أي متغير JS مكتوب آخر.

ال 8 كومينتر

كل ما أحتاجه في الواقع هو كتابة توقيع الوظيفة مثل

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

(أو أيا كان)

يمكنك أن تكون مصدر إلهام من هذا . من الضروري مسبقًا تسمية أنواع جميع كتل التعليمات البرمجية ، ويمكن إجراؤها باستخدام التعليقات التوضيحية . بعد هذا العمل التحضيري ، من الممكن إدخال معلومات عن الأنواع في المولد.

Mingun - هذا مثير للاهتمام ، ولكن من الصعب جدًا فهمه أيضًا

يبدو أن التعليق التوضيحي الخاص بك هو حالة شبه مثالية هنا - من شأنها أن تسمح بالتعليق التوضيحي لقواعد التحليل الفردية مع الأنواع ، مما يسمح بإرجاع أكثر من نوع حقيقي واحد

(اللحظة الغريبة التي فهمت فيها أن Mingun هي روسية أيضًا.)

في الواقع ، لن يسهل TypeScript تطوير القواعد النحوية ، لأنه يتعين عليك إضافة تعليقات توضيحية للأنواع في كل مكان ، ولأن نظام الكتابة الخاص بها معطل نوعًا ما. لقد أجريت مؤخرًا تجربة صغيرة على إنشاء PEG.ts ، وأطلق مدقق نوع TypeScript رسائل خطأ مروعة عندما أطعمتها بأنواع متكررة ، لدرجة أنني لم أتمكن حتى من إنهائها.

أوصي بالبحث في دعم Infernu .

@ polkovnikov-ph - نعم ، هذا الخيار ليس في يدي ، وإلى جانب ذلك ، بصفتي مطورًا لقالب c ++ من التسعينيات ، لا تخيفني رسائل الخطأ المطبوعة

على أي حال ، ما أحتاجه هو أن أكون قادرًا على إضافة محللات إلى نظام منسوخ ، لذلك ، من المفيد بالنسبة لي الحصول على تعليقات توضيحية مطبوعة من parse/1

في الوقت الحالي ، أفعل ذلك مع أنواع الماجستير الإجمالية والإرسال. أتمنى أن أفعل ما هو أفضل

image

مرحبا! مرتبطًا بهذا ، في المكون الإضافي ts-pegjs قمنا بتنفيذ كتابة إخراج اختيارية لقواعد الإنتاج. العدد 11 ، العلاقات العامة 16

لقد فعلنا ذلك باستخدام جدول أزواج "rule-name": "return-type" عبر الخيار returnTypes .

أنا نسخة إلى لك ، فقط في حالة ما إذا قررت إضافة معلومات الكتابة اختياريًا على pegjs على مستوى DSL إلى عمليات الإنتاج المرتبطة مباشرة.
قد يكون مفيدًا جدًا لإخراج TypeScript ، وكذلك لـ Flow ، أو أي متغير JS مكتوب آخر.

لا يزال الناس يطلبون هذا في # 597

قام المشرف الجديد بإنشاء وإيواء .d.ts ، لذلك من الواضح أنه منفتح على الكتابة المطبوعة

هذا هو "لدينا نص مطبوع" في نفس اليوم بدون تغييرات كبيرة ، والذي يمكن إجراؤه في خمسة أسطر من التعليمات البرمجية بالإضافة إلى تذييل وحدة es6 البديلة. لا أفهم لماذا لا يتم ذلك

لدي ملف تصحيح جاهز مقابل 0.11 لكن 0.11 لم يتم دمجه ، و 0.12 غير متاح للعمل ضده

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات