هل هناك مكتبة لـ .NET تقوم بواقصة أو تعبير التعبير وتحسينها؟

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

  •  24-09-2019
  •  | 
  •  

سؤال

هل هناك مكتبة لـ .NET تقوم بواقصة أو تعبير التعبير وتحسينها؟ شيء من شأنه أن يأخذ تعبيرًا مثل (A & (((B) | (C)) | D))) والعودة

A & (B | C | D)

ولكن أيضا خذ (A&A) وإرجاع أ

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

المحلول

هذا أكثر في مجال محلل محلل/معجمي مستقل. لكن Antlr لديه ملزمة C# لطيفة إلى حد ما ، إذا كان ذلك يناسب أغراضك.

ربما لن يكون العمل كثيرًا لكتابة محلل بسيط للسلاسل من هذا النوع والقيام بالتخفيض بنفسك.

نصائح أخرى

أنا لست خبيرًا في LINQ ، ولكن إذا كنت تريد أن تتسخ يديك ، فإن بنية البيانات لمثل هذه المهمة موجودة بالفعل في أشجار التعبير .NET:

http://msdn.microsoft.com/en-us/library/bb397951.aspx

لا يزال يتعين عليك تحليل السلسلة لإنشاء الشجرة.

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