سؤال

ولست بحاجة لبناء بسرعة محلل للنسخة مبسطة جدا من لغة الترميز مثل HTML في جاوة. في بيثون، وأود أن استخدام مكتبة pyparsing للقيام بذلك. هل هناك شيء مماثل لجافا؟ من فضلك، لا توحي المكتبات بالفعل الى هناك للتحليل أتش تي أم أل، طلبي هو مهمة المدرسة التي سوف تظهر المشي شجرة الأشياء وتسلسل إلى نص باستخدام نمط الزوار، لذلك أنا لا أفكر من حيث العالم الحقيقي هنا. أساسا كل ما تحتاجه هنا هو العلامات، وسمات والنص العقد.

هل كانت مفيدة؟

المحلول

ومولد آخر محلل الجيد هو ANTLR ، التي قد تكون ما كنت تبحث عن .

نصائح أخرى

قد تكون مبالغة للاستخدام الخاص، ولكن javacc هو القوة الصناعية محلل مولد ممتازة. لقد استعملت هذا البرنامج / عدة مرات المكتبة، التي يمكن الاعتماد عليها وتستحق التعلم، وخاصة إذا كنت تسير على العمل مع لغات والمجمعين. وفيما يلي وصفا للبرنامج من موقع المذكورة أعلاه:

<اقتباس فقرة>   

وجافا مترجم مترجم [TM] (JavaCC [TM]) هو مولد محلل الأكثر شعبية للاستخدام مع جافا [TM] تطبيقات. مولد محلل هو الأداة التي يقرأ مواصفات قواعد اللغة وتحولها إلى برنامج جافا التي يمكن التعرف مباريات لقواعد اللغة. بالإضافة إلى مولد محلل نفسه، يوفر JavaCC قدرات القياسية الأخرى ذات الصلة إلى جيل محلل مثل بناء شجرة (عن طريق أداة تسمى JJTree المتضمنة JavaCC)، والإجراءات، وتصحيح الأخطاء، وما إلى ذلك.

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

وأنا أحب JParsec (أي أنا فقط اكتشفت بفضل تورستن) لأنه لا يولد كود ... :-) ربما أقل كفاءة، ولكن يكفي لمهام صغيرة.
لقد وجدت مكتبة مماثلة، JTopas .

وهناك قائمة جيدة من محلل (مولدات أو لا) على الموقع جافا المصدر .

وهناك غير قليل من الخيارات عدد لstringhandling في جافا. ربما java.util.Scanner وjava.util.StringTokenizer فئات أساسية جدا ومفيدا بالنسبة لك؟

وخيار جيد آخر هو ربما مكتبة the org.apache.commons.lang.text. HTTP: //commons.apache. غزاله / انج / apidocs / المنظمة / اباتشي / المشاعات / انج / النص / حزمة summary.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top