سؤال

أنا استخدم Pypeg لإنشاء شجرة تحليل لقواعد بسيطة. يتم تمثيل الشجرة باستخدام قوائم و tuples. هذا مثال:

[('command',
  [('directives',
    [('directive',
      [('name', 'retrieve')]),
     ('directive',
      [('name', 'commit')])]),
   ('filename',
    [('name', 'f30502')])])]

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

شكرا لمساعدتك.

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

المحلول

من الصعب للغاية العمل مع CSTS (أشجار بناء الجملة الخرسانية) بعض الأسباب. لذلك يتم تحويلها عادة إلى ASTS (شجرة بناء الجملة المجردة) لمزيد من المعالجة (التفاصيل في نفس المقالة). على سبيل المثال، مترجم بيثون (المكون الذي يحول رمز مصدر Python إلى Python VM Bytecode) يترجم CSTS إلى ASTS كجزء من عمله.

الآن ، إنها تعتمد بشدة على هدفك النهائي. ما الذي تحلله؟ ماذا تريد ان تفعل به؟ إذا كنت تعيد إنشاء تدفق تجميع كلاسيكي ، فربما يكون التحويل إلى AST وسيلة جيدة للمضي قدماً. خلاف ذلك ، قد تجد CST بما فيه الكفاية - كل هذا يتوقف على ما تحتاجه.

نصائح أخرى

لدينا مجلس مجتمع لدعم مثل هذه الأسئلة حول Pyeg. يمكنك العثور عليها هنا: https://community.fdik.org/board/show/2/pypeg/

لك ، VB.

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