سایت های آموزش برنامه نویسی به کودکان
اگر اعلان نوع در خط اول حذف شود، برنامه خطایی را در متغیر سایت های آموزش برنامه نویسی به کودکان تعریف نشده p در طول کامپایل ایجاد می کند. با این حال، برنامه همچنان از نظر نحوی صحیح است زیرا اعلانهای نوع فقط اطلاعات معنایی را ارائه میدهند.
شکل سطحی یک زبان برنامه نویسی به عنوان نحو آن شناخته می شود. بیشتر زبان های برنامه نویسی صرفا متنی هستند. آنها از توالی متن از جمله کلمات، اعداد و علائم نگارشی استفاده می کنند، مانند زبان های طبیعی نوشتاری. از سوی دیگر، برخی از زبان های برنامه نویسی ماهیت گرافیکی بیشتری دارند و سایت های آموزش برنامه نویسی به کودکان از روابط بصری بین نمادها برای تعیین یک برنامه استفاده می کنند.
نحو یک زبان ترکیب احتمالی نمادها را توصیف می کند که یک برنامه صحیح نحوی را تشکیل می دهند. معنای داده شده به ترکیبی از نمادها توسط معنایی (چه رسمی یا کدگذاری شده در یک پیاده سازی مرجع) انجام می شود. از آنجایی که بیشتر زبان ها متنی هستند، این مقاله به نحو متنی می پردازد.
نحو زبان برنامه نویسی معمولاً با استفاده از ترکیبی از عبارات سایت های آموزش برنامه نویسی به کودکان منظم (برای ساختار واژگانی) و فرم Backus–Naur (برای ساختار دستوری) تعریف می شود. در زیر یک دستور زبان ساده بر اساس Lisp آمده است:
بیان ::= اتم | فهرست
گرامر مورد نیاز برای تعیین یک زبان برنامه نویسی را می توان بر سایت های آموزش برنامه نویسی به کودکان اساس موقعیت آن در سلسله مراتب چامسکی طبقه بندی کرد. سینتکس اکثر زبان های برنامه نویسی را می توان با استفاده از گرامر نوع 2 مشخص کرد، به عنوان مثال، آنها گرامرهای بدون متن هستند.[67] برخی از زبانها، از جمله Perl و Lisp، حاوی ساختارهایی هستند که امکان اجرا در مرحله تجزیه را فراهم میکنند. زبانهایی که ساختارهایی دارند که به برنامهنویس اجازه میدهد تا رفتار تجزیهکننده را تغییر دهد، تجزیه و تحلیل نحو را به یک مشکل غیرقابل تصمیم تبدیل میکند و به طور کلی تمایز بین تجزیه و اجرا را محو میکند.[68] برخلاف سیستم ماکرو لیسپ و بلوکهای BEGIN پرل، که سایت های آموزش برنامه نویسی به کودکان ممکن است محاسبات کلی داشته باشند، ماکروهای C صرفاً جایگزین رشتهها هستند و نیازی به اجرای کد ندارند.[69]
معناشناسی ایستا محدودیتهایی را بر ساختار متون معتبر تعریف میکند که بیان آنها در فرمالیسمهای نحوی استاندارد سخت یا غیرممکن است. نمونهها عبارتند از بررسی اینکه هر شناسه قبل از استفاده اعلام شده باشد (در زبانهایی که به چنین اعلانهایی نیاز دارند) یا اینکه برچسبهای روی بازوهای یک عبارت case متمایز باشند.[70] بسیاری از محدودیتهای مهم از این نوع، مانند بررسی اینکه آیا شناسهها در زمینه مناسب استفاده میشوند (مثلاً عدم افزودن یک عدد صحیح به نام تابع)، یا اینکه فراخوانیهای زیر روال دارای تعداد و نوع آرگومانهای مناسب هستند، میتوانند سایت های آموزش برنامه نویسی به کودکان با تعریف آنها به عنوان قوانین اعمال شوند. در منطقی به نام سیستم نوع. سایر اشکال تجزیه و تحلیل استاتیک مانند تجزیه و تحلیل جریان داده نیز ممکن است بخشی از معناشناسی ایستا باشد. زبانهای برنامهنویسی مانند جاوا و سی شارپ دارای تجزیه و تحلیل تخصیص مشخص، نوعی تحلیل جریان داده، به عنوان بخشی از معنایی استاتیک مربوطه هستند.
در این بخش هیچ منبعی ذکر نشده است. لطفاً با افزودن نقل قول به منابع معتبر به بهبود این بخش کمک کنید. اطلاعات بدون مرجع ممکن است مشکل ایجاد کرده و پاک شوند.
یافتن منابع: "زبان برنامه نویسی" - اخبار · روزنامه ها · کتاب ها · محقق · JSTOR (آوریل 2024) (با نحوه و زمان حذف این پیام آشنا شوید)
هنگامی که داده مشخص شد، باید به ماشین دستور داده سایت های آموزش برنامه نویسی به کودکان شود که عملیات روی داده ها را انجام دهد. به عنوان مثال، معناشناسی ممکن است راهبردی را که توسط آن عبارات به ارزش ها ارزیابی می شوند، یا روشی که در آن ساختارهای کنترلی به صورت شرطی عبارات را اجرا می کنند، تعریف کند. معناشناسی پویا (همچنین به عنوان معناشناسی اجرا شناخته میشود) یک زبان تعریف میکند که چگونه و چه زمانی ساختارهای مختلف یک زبان باید یک رفتار برنامه ایجاد کنند. راه های زیادی برای تعریف معنایی اجرا وجود دارد. زبان طبیعی اغلب برای مشخص کردن معنای اجرای زبانهایی که معمولاً در عمل استفاده میشوند استفاده میشود. حجم قابل توجهی از تحقیقات دانشگاهی به معناشناسی Programming teaching sites for children رسمی زبانهای برنامهنویسی میرود، که اجازه میدهد معناشناسی اجرا به شیوهای رسمی مشخص شود. نتایج از thi