- شروع کننده موضوع
- #1
مثبت
مستِ بودن
خب تازه یه آموزش پیدا کردم که چگونه میشه زبان برنامه نویسی
نوشت ( که آموزشش با node.js بود ) تصمیم گرفتم برای اینکه خودمم یاد بگیرم
و اینکه شاید برای شما هم جالب باشه یه آموزش با توضیحای ساده که حداقل در حد
فهم خودم هم باشه بذارم به زبان php که (در عین دور بودن ) به سی پلاس پلاس نزدیکه
( حقیقتا رو سیستم جدیدم هنوز وقت نکردم سی پلاس پلاس و سی شارپو راه بندازم
و از طرفی سخت میشه اون موقع مفهومش پیچیده تر میشه که من میخوام ساده تر باشه )
هدفمون اینه : مثلا میخوایم یه زبان برنامه نویسی بنویسیم که کاربردش برای مدیریت فایله
( میشه توابع بیشتری هم اضافه کرد ولی فعلا سه تا تابع برای آموزشمون مینویسیم واسه زبانمون )
خب شروع :
چیکارا باید بکنیم ؟
باید یه کامپایلر بنویسیم . به زبان ساده یعنی یه کدی که میاد کد های نامفهوم زبان جدید مون رو
به کد های استاندارد زبان پایه تبدیل میکنه ( مثلا زبان پایه پایتون ش میشه همون سی پلاس پلاس ، یعنی کد پایتون
رو به زبان سی پلاس پلاس کامپایل میکنه و بر اون اساس اجراش میکنه )
برای خودمون هم دو تا اصطلاح تعریف میکنیم :
زبان هدف ( زبانی که مینویسیم ) ، زبان مبدا ( زبانی که باهاش کامپایلر رو مینویسیم )
با این حساب اولین کاری که برای شروع کار باید بکنیم تعیین کردن سینتکس زبان هدفه که کدای زبان مبدا رو بر اون اساس مینویسیم
اینا سینتکسای کد زبان هدفمونه که توی فایل main.filer با فرمت اختصاصی خودمون یعنی .filer ذخیره میکنیم :
یه زبان هدف ساده با همین توابع در همین سطح فعلا کافیه بنظرم
توضیح کاربرد هر تابع توی کامنت های کدمون نوشته شده
کامنت بودن هر متن با "- " اول اون خط مشخص میشه ( حتما توضیحاشو بخونین )
کدای زبان منبع ( filer.php همون کدای کامپایلر ) رو هم توی پست بعدی میذارم
( چون همین الان همزمان مینویسم شاید طول بکشه )
نوشت ( که آموزشش با node.js بود ) تصمیم گرفتم برای اینکه خودمم یاد بگیرم
و اینکه شاید برای شما هم جالب باشه یه آموزش با توضیحای ساده که حداقل در حد
فهم خودم هم باشه بذارم به زبان php که (در عین دور بودن ) به سی پلاس پلاس نزدیکه
( حقیقتا رو سیستم جدیدم هنوز وقت نکردم سی پلاس پلاس و سی شارپو راه بندازم
و از طرفی سخت میشه اون موقع مفهومش پیچیده تر میشه که من میخوام ساده تر باشه )
هدفمون اینه : مثلا میخوایم یه زبان برنامه نویسی بنویسیم که کاربردش برای مدیریت فایله
( میشه توابع بیشتری هم اضافه کرد ولی فعلا سه تا تابع برای آموزشمون مینویسیم واسه زبانمون )
خب شروع :
چیکارا باید بکنیم ؟
باید یه کامپایلر بنویسیم . به زبان ساده یعنی یه کدی که میاد کد های نامفهوم زبان جدید مون رو
به کد های استاندارد زبان پایه تبدیل میکنه ( مثلا زبان پایه پایتون ش میشه همون سی پلاس پلاس ، یعنی کد پایتون
رو به زبان سی پلاس پلاس کامپایل میکنه و بر اون اساس اجراش میکنه )
برای خودمون هم دو تا اصطلاح تعریف میکنیم :
زبان هدف ( زبانی که مینویسیم ) ، زبان مبدا ( زبانی که باهاش کامپایلر رو مینویسیم )
با این حساب اولین کاری که برای شروع کار باید بکنیم تعیین کردن سینتکس زبان هدفه که کدای زبان مبدا رو بر اون اساس مینویسیم
اینا سینتکسای کد زبان هدفمونه که توی فایل main.filer با فرمت اختصاصی خودمون یعنی .filer ذخیره میکنیم :
کد:
- we most define a way to add comments in our language
- we use "- " at first of line as a way to add comments :)
- only one function is executed in each line of our language ( like python )
fopen "../example.txt" as hello
- to open a file or folder and save as a variable named "hello"
fprint hello
- to print content if "hello" was a file ( not dir )
fdel hello
- to delete var and file in "hello"
fwrite hello
frname hello
- to rename or delete "hello"
flist hello
- to list files in "hello" if it was a folder
fclose hello
- to close an opened file or folder that saved as "hello" and removing this variable
یه زبان هدف ساده با همین توابع در همین سطح فعلا کافیه بنظرم
توضیح کاربرد هر تابع توی کامنت های کدمون نوشته شده
کامنت بودن هر متن با "- " اول اون خط مشخص میشه ( حتما توضیحاشو بخونین )
کدای زبان منبع ( filer.php همون کدای کامپایلر ) رو هم توی پست بعدی میذارم
( چون همین الان همزمان مینویسم شاید طول بکشه )