یک برنامهٔ C++ بنویسید که یک خط کد ساده را بهعنوان ورودی دریافت کند و با استفاده از regex آن را به توکنهای پایهای (کلیدواژهها مثل if, else, while، شناسهها، اعداد صحیح، عملگرها مانند + - * / و پرانتزها) تقسیم کرده و هر توکن را همراه با نوع آن چاپ کند.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:36 0.0
برای حل مسئله از کتابخانهٔ در C++ استفاده کنید: یک لیست از الگوهای منظم مرتب شده (مثلاً ابتدا کلیدواژهها، سپس شناسهها، سپس اعداد و در انتها عملگرها و علامتها) تهیه کنید و با کمک std::sregex_iterator متن را پیمایش و هر تطبیق را بهعنوان یک توکن شناسایی کنید؛ ترتیب الگوها مهم است تا «if» بهعنوان کلیدواژه و نه شناسه شناسایی شود. نکات عملی: فاصلهها را نادیده بگیرید، برای عملگرها و کاراکترهای خاص از escape استفاده کنید، و هنگام چاپ نوع توکن و مقدار آن فرمت خوانایی انتخاب کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
بهخوبی کلیدواژهها را اولویتبندی کن و در الگوی منظم بهشدت از شناسهها متمایزشان کن تا مثل if بهعنوان کلیدواژه تشخیص داده شود. ترتیب الگوها (کلیدواژهها، سپس شناسهها، اعداد، آنگاه عملگرها) اهمیت دارد تا تداخل و مشکلات کلاسبندی کاهش یابد. فاصلهها را نادیده بگیر و برای کاراکترهای ویژهٔ regex از escape مناسب استفاده کن (مثلاً \+, \), \() تا تطبیقها دقیق باشند. هنگام چاپ، نوع توکن و مقدار آن را با فرمت خوانا نمایش بده و خطای ورودی نامناسب یا خالی را بهخوبی گزارش کن.
گزارش