طريقة كتاب نص علوم الكمبيوتر للقيام بتحليل النص/XML/أيًا كان

StackOverflow https://stackoverflow.com/questions/150937

سؤال

لقد كان الأمر يدور في ذهني لفترة من الوقت.

لقد أجريت بعض التحقيقات حول Compilers/Flex/Byson والأشياء ولكنني لم أجد مطلقًا مرجعًا جيدًا يتحدث بالتفصيل عن "مكدس التحليل"، أو كيفية تنفيذ واحد.

هل يعرف أحد مراجع جيدة حيث يمكنني اللحاق بها؟

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

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

المحلول

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

  • أولاً، أتمتة الحالة المحدودة قادرون فقط على التعرف على اللغات العادية (على سبيل المثال.التعبيرات العادية).من أجل التعرف على اللغات الخالية من السياق التي تحتاج إليها أتمتة الضغط لأسفل, ، وهو أقوى.يرى http://en.wikipedia.org/wiki/Automata_theory#Classes_of_automata لمزيد من الأتمتة وعلاقتها بفئات مختلفة من اللغات.

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

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

يحرر:أنا آسف لطرح هذا السؤال مرة أخرى، لقد صادفت للتو منشورين ممتازين يصفان العلاقة بينهما اللغات العادية والأتمتة المحدودة, لغات خالية من السياق وأتمتة الضغط لأسفل.قد يكون من المثير للاهتمام بالنسبة للأشخاص الذين يجدون هذا السؤال.

نصائح أخرى

ال كتاب التنين!لقد استخدمته مؤخرًا لكتابة مترجم (في PHP!) للغة معالجة لملفات القالب المكتوبة بلغة RTF...

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

يحاول أمازون

بناء المترجم هو مجرد مثال جيد واحد

راجع "برينش هانسن على مترجمات باسكال".تمت كتابته في عام 1985، لكنني استخدمته العام الماضي في دورة تدريبية حول المترجمين (بواسطة بير برينش هانسن بالطبع.) ووجدته موجزًا ​​جدًا ومفيدًا لتصميم المترجمات.

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