majid
5 سال پیش توسط majid مطرح شد
1 پاسخ

چگونه ميتوان يك كامپايلر را داخل سايت قرار داد

سلام دوستان.سايت هايي مثل geeksforgeeks چطور يك كامپايلر رو داخل خودشون دارن؟ ممنون ميشم كه راهنمايي كنين دقيقا با چه معماري اي ميشه همچين كاري كرد.


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش آپدیت شد
0

آنچه که شما اساسا می‌تونید بر اساس یک الگوی MVC برای معماری وب استفاده کنید، چیزی شبیه به اینه:

  • سمت کلاینت، به کاربر اجازه می‌دهیم کدهاش رو وارد کنه. (استفاده از جاوااسکریپت برای اعتبار سنجی گزینه خوبیه)
  • یک endpoint در سرور، برای دریافت کد وارد شده در سمت کلاینت داریم.

و روال کار میتونه این‌جوری باشه که:

  • در سمت سرور ورودی ما، به ساختار مناسب برای زبان برنامه نویسی هدف تبدیل می شود، برای مثال یک کلاس جاوا یا یک ماژول C.
  • سپس، کامپایلر فراخوانی می شود (به عنوان مثال javac یا gcc). این قسمت به طرق مختلفی می‌تونه اتفاق بیفته، به عنوان مثال exec در C یا Runtime.getRuntime (). exec در جاوا. در غیر این صورت این کد را می توان در یک سرور اجرا کرد و یا از ماشین های مجازی برای اجراش استفاده کرد.
  • پس از آن، کد اجرا شده و خروجی تفسیر میشود. اجرای این کد می‌تونه از طریق کامند لاین باشه، و یا می‌تونه از طریق ارسال یه درخواست CURL در یه کد PHP صورت بگیره
  • آخرین مرحله برای سرور، این است که خروجی تفسیر شده را در یک فرمت قابل خواندن (HTML) ،‌ به سمت کلاینت ارسال کنه

سایت های زیادی هستند که این قابلیت را به خوبی تحت زبان های برنامه نویسی مختلف پیاده سازی کردند...

  • www.jdoodle.com بهره‌گیری از PHP
  • www.codechef.com بهره‌گیری از PHP
  • www.ideone.com بهره‌گیری از PHP به همراه ارائه API
  • www.paiza.io بهره‌گیری از Ruby
  • www.sololearn.com بهره‌گیری از ASP.NET

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام