ملعقة
Spoon هي مكتبة مفتوحة المصدر لتحليل وإعادة كتابة وتحويل ونقل كود مصدر Java. يقوم بتحليل الملفات المصدر لإنشاء AST مصمم جيدًا مع واجهة برمجة التطبيقات للتحليل والتحويل القوية. وهو يدعم إصدارات Java الحديثة حتى Java 20. Spoon هو مشروع Inria رسمي مفتوح المصدر، وعضو في اتحاد OW2 مفتوح المصدر.
التوثيق
أحدث الوثائق الرسمية متاحة على https://spoon.gforge.inria.fr/.
الاستخدام الأكاديمي
إذا كنت تستخدم Spoon لأغراض أكاديمية، فيرجى الاستشهاد بـ: Renaud Pawlak، Martin Monperrus، Nicolas Petitprez، Karls Noguera، Lionel Seinturier. "الملعقة: مكتبة لتنفيذ التحليلات والتحويلات لكود مصدر جافا". في البرمجيات: الممارسة والخبرة، وايلي بلاكويل، 2015. دوى: 10.1002/spe.2346.
@article{pawlak:hal-01169705,
TITLE = "{Spoon: A Library for Implementing Analyses and Transformations of Java Source Code}",
AUTHOR = {Pawlak, Renaud and Monperrus, Martin and Petitprez, Nicolas and Noguera, Carlos and Seinturier, Lionel},
JOURNAL = "{Software: Practice and Experience}",
PUBLISHER = "{Wiley-Blackwell}",
PAGES = {1155-1179},
VOLUME = {46},
URL = {https://hal.archives-ouvertes.fr/hal-01078532/document},
YEAR = {2015},
doi = {10.1002/spe.2346},
}
الدعم المهني
إذا كنت بحاجة إلى دعم احترافي في Spoon (التطوير، التدريب، الإرشاد)، فنحن نرحب بك لنشر تعليق على #3251
الشروع في العمل في 2 ثانية
إصدار Java: الإصدار 10 من Spoon والإصدارات الأحدث يتطلب Java 11 أو إصدار أحدث. Spoon 9.1.0 هو الإصدار الأخير من Spoon المتوافق مع Java 8، ونحن لا نخطط لنقل أي إصلاحات أو ميزات للأخطاء إلى Spoon 9. لاحظ أن Spoon لا يزال بإمكانه بالطبع استهلاك التعليمات البرمجية المصدر للإصدارات الأقدم من Java، ولكنه يحتاج إلى JDK 11+ للتشغيل.
احصل على أحدث إصدار ثابت مع Maven، راجع https://search.maven.org/artifact/fr.inria.gforge.spoon/spoon-core
والبدء في استخدامه:
CtClass l = Launcher . parseClass ( "class A { void m() { System.out.println( " yeah " );} }" );
التوثيق:
- الوثائق المرجعية: https://spoon.gforge.inria.fr/ (تحتوي على محتوى مجلد المستندات)
- أمثلة التعليمات البرمجية: https://github.com/SpoonLabs/spoon-examples
- مقاطع الفيديو: Spoon: البدء - Simon Urli @ OW2Con'18 (باريس)، إنشاء تأكيد اختباري باستخدام Spoon - Benjamin Danglot @ OW2Con'17 (باريس)
المساهمة في 2 ثانية
قم بإنشاء طلب السحب الأول الخاص بك لتحسين الوثائق، راجع المستند! المضي قدما في إصلاح الخلل الأول الخاص بك! المجتمع منفتح ومحترم وصبور. جميع المساهمات الخارجية هي موضع ترحيب.
فلسفة التصميم
R1) يعتبر نموذج Spoon metamodel أقرب ما يكون إلى مفاهيم اللغة.
R2) نموذج Spoon للبرنامج كامل وسليم.
R3) النسخة النصية لنموذج Spoon جيدة الصياغة ومكافئة لغويًا للبرنامج الأصلي.
R4) واجهة برمجة التطبيقات للتحليل والتحويل بديهية ومنتظمة.
R5) تم تصميم عوامل التحويل للتحذير في أسرع وقت ممكن بشأن البرامج غير الصالحة. ويتم ذلك إما من خلال التحقق من النوع الثابت أو من خلال عمليات التحقق الديناميكية عند استخدام عوامل التشغيل.
R6) عندما يكون ذلك ممكنًا، تكون النسخة النصية لنموذج Spoon قريبة من النسخة الأصلية.
تجميع
لتجميع Spoon، تحتاج إلى Java Development Kit (JDK) وMaven:
git clone https://github.com/INRIA/spoon
cd spoon
mvn compile
لتشغيل الاختبارات:
تحميل
أحدث إصدار: https://search.maven.org/remote_content?g=fr.inria.gforge.spoon&a=spoon-core&v=LATEST&c=jar-with-dependeency - Javadoc
مخضرم:
< dependency >
< groupId >fr.inria.gforge.spoon</ groupId >
< artifactId >spoon-core</ artifactId >
<!-- See rendered release value at https://spoon.gforge.inria.fr/ -->
< version >{{site.spoon_release}}</ version >
</ dependency >
الإصدارات
- 31 أغسطس 2023، Spoon 10.4.1 (سجل التغيير)
- 6 يوليو 2023، Spoon 10.4.0 (سجل التغيير)
- 13 مارس 2023، Spoon 10.3.0 (سجل التغيير)
- أكتوبر 2022، Spoon 10.2.0 (سجل التغيير)
- أبريل 2022، Spoon 10.1.0 (سجل التغيير)
- أكتوبر 2021، Spoon 10.0.0 (سجل التغيير)
- أغسطس 2021: Spoon 9.1.0 (سجل التغيير)
- مارس 2021: Spoon 9.0.0 (سجل التغيير)
- أكتوبر 2020: Spoon 8.3.0 (سجل التغيير)
- يوليو 2020: Spoon 8.2.0 (سجل التغيير)
- مارس 2020: Spoon 8.1.0 (سجل التغيير)
- نوفمبر 2019، Spoon 8.0.0 (سجل التغيير)
- يوليو 2019: تم إصدار Spoon 7.5.0 (سجل التغيير)
- مايو 2019: تم إصدار Spoon 7.4.0 (سجل التغيير)
- 10 فبراير 2019: تم إصدار Spoon 7.3.0 (سجل التغيير)
- 4 ديسمبر 2018: تم إصدار Spoon 7.2.0 (سجل التغيير)
- 10 أكتوبر 2018: تم إصدار Spoon 7.1.0 (سجل التغيير)
- 4 يوليو 2018: تم إصدار Spoon 7.0.0 (سجل التغيير)
- 8 مارس 2018: تم إصدار Spoon 6.2.0 (سجل التغيير)
- 20 ديسمبر 2017: تم إصدار Spoon 6.1.0، عيد ميلاد سعيد! ؟ (سجل التغيير)
- 17 نوفمبر 2017: تم إصدار Spoon 6.0.0! تحقق من (سجل التغيير) حيث يوجد عدد قليل من التغييرات غير المتوافقة مع الإصدارات السابقة ️
- 6 سبتمبر 2017: تم إصدار Spoon 5.9.0 (سجل التغيير) إصدار العودة إلى العمل !
- 11 يوليو 2017: تم إصدار Spoon 5.8.0 (سجل التغيير) الإصدار الصيفي؟ ليفضل كتابة الخيار السابق: إصلاح الكثير من الأخطاء.
- 01 يونيو 2017: تم إصدار Spoon 5.7.0 (سجل التغيير)
- 16 مارس 2017: تم إصدار Spoon 5.6.0 (سجل التغيير) إصدار الربيع :-)
- 11 يناير 2017: تم إصدار Spoon 5.5.0 (سجل التغيير). سنة جديدة سعيدة!
- 27 أكتوبر 2016: تم إصدار Spoon 5.4.0 (سجل التغيير).
- 19 سبتمبر 2016: تم إصدار Spoon 5.3.0 (سجل التغيير).
- 30 يونيو 2016: تم إصدار Spoon 5.2.0 (سجل التغيير).
- 22 يونيو 2016: تم إصدار Spoon 5.1.1 (سجل التغيير).
- 21 مارس 2016: تم إصدار Spoon 5.1.0 (سجل التغيير).
- 12 فبراير 2016: تم إصدار Spoon 5.0.2 (سجل التغيير).
- 3 فبراير 2016: تم إصدار Spoon 5.0.1 (سجل التغيير).
- 25 يناير 2016: تم إصدار Spoon 5.0.0 (سجل التغيير).
- 18 نوفمبر 2015: تم إصدار Spoon 4.4.1 (سجل التغيير).
- 16 نوفمبر 2015: تم إصدار Spoon 4.4.0 (سجل التغيير).
- 22 سبتمبر 2015: تم إصدار Spoon 4.3.0 (سجل التغيير).
- 15 يونيو 2015: تم إصدار Spoon 4.2.0 (سجل التغيير).
- 7 مايو 2015: تم إصدار Spoon 4.1.0 (سجل التغيير).
- 8 أبريل 2015: تم إصدار Spoon 4.0.0 (سجل التغيير).
- 11 فبراير 2015: تم إصدار Spoon 3.1 (سجل التغيير).
- 9 ديسمبر 2014: تم إصدار Spoon 3.0 (سجل التغيير).
- 12 نوفمبر 2014: تم إصدار Spoon 2.4 (سجل التغيير).
- 9 أكتوبر 2014: تم إصدار Spoon 2.3.1 (سجل التغيير).
- 12 سبتمبر 2014: تم إصدار Spoon 2.1 (سجل التغيير).
- 2 أبريل 2014: تم إصدار Spoon 2.0 (سجل التغيير).
- 30 سبتمبر 2013: إطلاق Spoon 1.6.
- 12 أبريل 2012: تم إصدار Spoon 1.5.
رخصة
Spoon مجاني ومفتوح المصدر، ومرخص مرتين بموجب (ترخيص CeCILL-C - المعادل الفرنسي لـ LGPL) وترخيص MIT.
JProfiler
تم تطوير Spoon بمساعدة JProfiler، وهو ملف تعريف Java من شركة ej-technologies GmbH. يدعم JProfiler تطوير Spoon من خلال توفير ملف تعريف Java كامل الميزات مجانًا. نشكر شركة ej-technologies GmbH على هذا الدعم.
المساهمين في جيثب
يتم إنشاء هذه القائمة عن طريق chore/generate-contributor-list.py
. إذا لم تكن مدرجًا أو كنت ترغب في الحصول على اسمك الكامل، فيرجى النشر على #3909.
- adamjryan
- ألسيدس فونسيكا
- الكسندر شوبوف
- أمان شارما
- com.andrewbwogi
- أندريه كروز
- أندريه سيلفا
- أنطوان موتييه
- انطون ليكسيل
- أرجيوس
- أرنود بلوين
- ارسنخي
- أرتام
- ارتور بوش
- ارفيد سيبيروف
- الآرية
- أشوتوش كومار فيرما
- com.aveuiller
- أكسل هويند
- بنيامين دانجلوت
- بينوا كورنو
- كارلوس نوغيرا
- تشيكي جولكو
- بطل
- سحر
- كريس سكوير
- كريستوف دوفور
- كريستوفر ستوكس
- كليمنس بارتز
- كليمان فورنييه
- سيزار سوتو فاليرو
- دانيال بوبرت
- داريوس ساس
- ديفيد برنارد
- ديدييه دونسيز
- ديورسيت يان
- دوروتا كوبتشيك
- dufaux
- دواينيب
- ديا الهاتف
- إيدي تي
- إيجور بريديخين
- فابيان دوميني
- مروحة طويلة
- com.fangzhen
- مفضل
- فافيو دي ماركو
- فرناندا ماديرال
- فيليب كراكوفسكي
- غابرييل تشابيرون بورغوس
- gibahjoe
- بوت إجراءات جيثب
- غلوكزانغ
- جريجور زيتلينجر
- com.gtoison
- غيوم توسون
- جيرارد باليجو
- هانز جريول
- هاريس ادزيموفيتش
- هيكتورSM
- هنري تشو
- هيرفي بوتيمي
- حورية قسطنطين
- الإستانن
- دسيسة-lgtm
- jakobbraun
- جان جالينسكي
- جون
- كاي لوه
- لاكشيا أغراوال
- ليفينتوف
- ليونيل سينتورييه
- lodart
- لوكاس
- لوكاس كرييسي
- لوك ميريك
- مارسيل منصور
- مارسيل شتاينبك
- مارتن مونبيروس
- مارتن ويتلينجر
- مارتن ويت
- ماتياس مارتينيز
- مكسيم ستيفانوف
- ماكسيم كليمنت
- مهدي قيتو
- مايكل تاغ
- ميكائيل استريا
- ميغيل سوزينيو رامالهو
- ميكائيل فورسبيرج
- السيد باين
- محمد علي اقباي
- نيكولا هاراند
- نيكولا بيسيمير
- نيكولا بيتيتبريز
- نوح سانتشي كوني
- أوليفييه بارايس
- أوندريج شيبيك
- باتريك شميت
- بافيل فويتيتشوفسكي
- بيروكسايد90
- فيليب أومبريدان
- فيليب شيشتيل
- بريانكا-28
- كوينتين لو ديلافريك
- raymogg
- رينو باولاك
- رضا غريبي
- ريس كومبتون
- ريك كيلوج
- رينارد فان توندر
- روهيتيش كومار جاين
- رومان ليفينتوف
- ريوتا هيوشي
- ساندر بلويجسما
- سانتوس صامويل
- com.scootafew
- سكوت ديكرسون
- سكوت بينويل
- سيباستيان لاميلاس ماركوت
- سيرجي فيدوروف
- شانتانو
- سيمون لارسن
- سيمون أورلي
- سبنسر ويليامز
- srlm
- ST0NEWALL
- ستيفان وولف
- بوت الأمن الخطوة
- سيباستيان برتراند
- بوت الملعقة
- ثيمو سيتز
- توماس دوريو
- tiagodrcarvalho
- توماس زيلينسكي
- أورس كيلر
- فيكتور
- فينتشنزو موسكو
- فولفجانج شميسينج
- فوتر سمينك
- وريوليك
- يان ديوريست
- يوجيا توليب جاماج
- تشانغ شيندونغ
- دميتري