-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
use "iostream.lib" به کار بردن کتابخانه
Import Function “DeleteDC” From “GDI32.DLL” As DelDC (ByVal hdc : Long) : Long API معرفی
define:
variable e:integer
variable f:sinteger
variable g:binteger
variable h:float تعریف متغیرهای عمومی
variable i:bfloat
variable j:char
variable k:str
end define
Function main() : Integer تابع اصلی
M = x * y
End Function
Function Multiply(x : Integer, y : Integer) : Integer توابع فرعی
Multiply = x * y
End Function
If a <> b :
شرط ساده
End If
If i = j :
If b = True : شرط تودرتو
End If
Else :
End If
لطفآ اگر اشکالی میبینید الان اعلام کنید و نگذارید برای بعد.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
خوب من با همه جاش موافقم، فقط در مورد define یه مسئله هست:
وقتی برنامه نویس متغیر ها رو در کلاس یا هر جای دیگه ای که تعریف می کنه می خواد که Public یا Private باشن، که مجبوریم این کلمات کلیدی رو قبل از Variable بیاریم، خوب چرا یهو نیایم برای تعریف متغیر های عمومی از همون Public قبل از Variable استفاده کنیم؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
در مورد تعریف چیزای جدید:
1. تعریف Struct (این کار که مثل آب خوردنه! چون در FASM تعریف Struct به راحتی تعریف متغیر هست :لبخند:)
2. تعریف Type (تعریف انواع داده ی جدید. مثل VB6 با Struct ادغامش کنیم یا ... ؟)
3. تعریف Object از روی Class
در مورد سومی یه ابهاماتی داشتم که برطرف شد.
می تونیم برای مرحله ی اول حداقل تا یه حدودی پیاده سازیش کنیم.
بر اساس اون چه که در مورد C With Classes خوندم، این کارو می تونیم بکنیم:
بیایم از داده های Class یه Struct تعریف کنیم، بعد هر بار که Object ای جدید از اون نوع Class تعریف می شه یه Struct جدید بسازیم برای اون Object جدید،
برای توابع و روال های تمام Object ها یه سری توابع و روال های مشترک در نظر می گیریم که به همشون یه پارامتر ورودی جدید اضافه می کنیم: آدرس Struct ای که Object مورد نظرمون داره.
فعلا اولویت با حلقه ها و ساختار switch هست
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
خوب حلقه ها که تعریف شد فکر کنم ...
اما فکر کنم هنوز تکلیف Select Case معلوم نشد.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
خوب من با همه جاش موافقم، فقط در مورد define یه مسئله هست:
وقتی برنامه نویس متغیر ها رو در کلاس یا هر جای دیگه ای که تعریف می کنه می خواد که Public یا Private باشن، که مجبوریم این کلمات کلیدی رو قبل از Variable بیاریم، خوب چرا یهو نیایم برای تعریف متغیر های عمومی از همون Public قبل از Variable استفاده کنیم؟
ببین سادست! متغیرهایی که قراره تو تمام توابع در برنامه استفاده بشن(public) داخل بلاک define قرار میگیره
متغیرهایی که قراره فقط در یک تابع استفاده بشن (private) داخل همون تابع تعریف میشن
متغیرهایی هم که قراره در کتابخانه ها تعریف بشن و در برنامه اصلی استفاده شن به این شکل:
share:
variable i : integer
end share
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
الان شما با کدهای پست ۱۵۱ مشکل دارید؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
در مورد انواع داده ی اولیّه، این جا رو بررسی کن...:متفکر:
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
خوب حلقه ها که تعریف شد فکر کنم ...
اما فکر کنم هنوز تکلیف Select Case معلوم نشد.
فکر میکنم در مورد حلقه فقط نظر داده بودیم و منم در مورد for نظرم روی این بود.
for (counter,1,100,+2)
دستورات
revert for
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
خوب خوبه...:متفکر:
پس اگه واقعآ مشکلی نیست لطفآ اون رو جایی برای خودتون ذخیره کنید و دیگه روش تغییری ندیدید. باز میگم اگه مشکلی باهاش ندارید.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
حلقه ی for زبان C قوی تره و خیلی هم شبیه به اینه.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
به نظرم بهتره ساختار for مون هر چی که هست از این شکل تبعیت کنه :
Do ...
Loop
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
به نظرم بهتره ساختار for مون هر چی که هست از این شکل تبعیت کنه :
Do ...
Loop
من اصلا درک نمیکنم چرا شما در تمام ساختار ها اولین چیزی که به ذهنتون میرسه ساختار زبان basic هست. یکم خلاقیت هم بد نیست. نمونه بازش همون ساختار توابع که فقط به جای as در پارامترها از ":" استفاده شده.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
حلقه ی for زبان C قوی تره و خیلی هم شبیه به اینه.
اگه منظورتون اینه:
for (counter,1,100,+2)
دستورات
revert for
این کجاش شبیه C هست. البته من روی لغت revert از لحاظ مفهومی شک دارم
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
for i from 1 to 10 step 2
check for i
این هم قدرتش مثل ساختار for زبان C هست:
for i=0 until i=10 : i++
revert for
...
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
عیب نداره.
ولی بیش تر می خواستم این ویژگی خوب زبان Pascal رو داشته باشیم:
Syntactically, Pascal is much more Algol-like than C. English keywords are retained where C uses punctuation symbols — Pascal has and, or, and mod where C uses &&, ||, and % for example. However, C is actually more Algol-like than Pascal regarding (simple) declarations, retaining the type-name variable-name syntax. For example, C can accept declarations at the start of any block, not just the outer block of a function.
از این که به جای end و next و ... از یه چیز متفاوت مثل revert استفاده کردید خوشم اومد. از لحاظ مفهومی می تونیم به جاش از check for i هم استفاده کنیم، چون به این معناست که همیشه بر نمی گرده به ابتدای حلقه و check می کنه.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
for i from 1 to 10 step 2
check for i
...
این شد یه چیزی... فقط step یکم بینظمش کرده و همچنین check for i یکم بی معنی به نظر میاد.:متفکر:
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
خوب استفاده از step اختیاری هست و نیازی نیست همیشه استفاده کنه. مثلا در حالت عادی:
For i From 1 To 10
Check For i
منظور از Check For i هم این هست که : شرط ادامه ی حلقه رو برای i چک کن و ...
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
خوب استفاده از step اختیاری هست و نیازی نیست همیشه استفاده کنه. مثلا در حالت عادی:
For i From 1 To 10
Check For i
همین خیلی خوبه. اینو به ساختارهای قبلی اضافه کنید. مرحله بعدی ساختار یک نوع حلقه while ....
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
خوب برای ساختار While بد نیست این جا رو هم نیگا بندازید.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
با تشکر و خسته نباشید خدمت دوستان ساعی و پرتلاش.
دوستان هر چند پست یه گزارش کار هم بدید که مثلا تا حالا به کجا رسیدید.
من سر از طراحی کامپایلر در نمی یارم ولی بحث شما رو دنبال می کنم ، موفقیت شما برام مهم هست.
با تشکر.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
aminghaderi
با تشکر و خسته نباشید خدمت دوستان ساعی و پرتلاش.
دوستان هر چند پست یه گزارش کار هم بدید که مثلا تا حالا به کجا رسیدید.
من سر از طراحی کامپایلر در نمی یارم ولی بحث شما رو دنبال می کنم ، موفقیت شما برام مهم هست.
با تشکر.
با سپاس از نظر و توجهتون.
درمورد گزارش کار باید عرض کنم که خودم هم خیلی به نظم در چنین پروژه هایی اهمیت میدم و ارائه گزارش کار هم میتونه یکی از راههای منظم نگه داشت پروژه باشه.اما با توجه به محدودیتهای زمانی که من با اونها مواجه هستم شاید نشه آنچنان روی این مسائل وقت گذاشت. ولی سعی میکنیم حداقل در بازه های زمانی طولانی (البته اگر کارها به همین شکل پیش بره) گزارش کار هم ارائه بدیم.
بازم ممنون.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
۱- ساختار تعریف متغیر
۲- ساختار تعریف توابع
۳- ساختار نحوی عملگرها و دستورات محاسباتی
۴- ساختارهای شرطی
۵- ساختار حلقه و تکرار
------------------------------------------------------
خوب الان یه چیز حدودی ای دستمون اومده، به نظرم الان خیلی ساده همین هایی که گفتیم رو مشخص کنیم و پیاده سازی کنیم. دوباره که می یایم تغییر بدیم و بهترش کنیم، ایده های جدید رو هم پیاد سازی می کنیم.
نظر شما چیه؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
۱- ساختار تعریف متغیر
۲- ساختار تعریف توابع
۳- ساختار نحوی عملگرها و دستورات محاسباتی
۴- ساختارهای شرطی
۵- ساختار حلقه و تکرار
------------------------------------------------------
خوب الان یه چیز حدودی ای دستمون اومده، به نظرم الان خیلی ساده همین هایی که گفتیم رو مشخص کنیم و پیاده سازی کنیم. دوباره که می یایم تغییر بدیم و بهترش کنیم، ایده های جدید رو هم پیاد سازی می کنیم.
نظر شما چیه؟
الان متوجه منظورتون نشدم. میگید همین ها رو پیاده سازی کنیم یا الان بیایم اصلاحشون کنیم؟؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
موافقم
پس اول باید به تحلیلگر لغوی بپردازیم.
خوب عبارات باقاعده زبانمون :
۱- شناسه:*[9-a-z][a-z 0]
۲- اعداد صحیح:*[9-0][9-0]
۳-اعداد اعشاری:[9-0].*[9-0][9-0]
۴-رشته:"*[all ascii code]"
در ضمن کلمات کلیدی هم جزء شناسه ها هستند.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
خوب الان مثلا در تابع تحلیلگر لغوی،
خروجی اش لغت جدید باشه به علاوه ی نوع اون؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
یه کاری می گم برای راحتی خودمون، می تونیم قسمتی از کار Compiler رو با macro ها تو Assembler بکنیم. یعنی مثلا فرض کن برای انتساب 2 متغیر رشته ای باید n خط کد تولید کنیم، حالا ما می آیم این n خط رو به صورت macro برای Assembler تعریف می کنی و فقط قسمتی از کار رو در مراحل قبل در کامپایلرمون انجام می دیم. البته اونی که گفتم مثال بود، حالا کارای مهم تری هم می شه کرد.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
یه کاری می گم برای راحتی خودمون، می تونیم قسمتی از کار Compiler رو با macro ها تو Assembler بکنیم. یعنی مثلا فرض کن برای انتساب 2 متغیر رشته ای باید n خط کد تولید کنیم، حالا ما می آیم این n خط رو به صورت macro برای Assembler تعریف می کنی و فقط قسمتی از کار رو در مراحل قبل در کامپایلرمون انجام می دیم. البته اونی که گفتم مثال بود، حالا کارای مهم تری هم می شه کرد.
میدونم شاید یکم سختگیرم ولی لازمه این نکته رو بگم که بهتره پراکنده کار کنیم. یعنی وقتی قراره روی تحلیلگر لغوی کار کنیم, فعلآ به مسائل دیگه فکر نکنیم.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
خوب الان مثلا در تابع تحلیلگر لغوی،
خروجی اش لغت جدید باشه به علاوه ی نوع اون؟
خروجی : نوع لغت و خود لغت . همچنین باید جدول نماد رو پایه گذاری کنیم و تمام شناسه ها به غیر از کلمات کلیدی رو در اون قرار بدیم. که این جدول برای هر شناسه یک قسمت صفت هم داره که باید در فازهای بعد تکمیل بشه.
وقتی سرم خلوت شد سعی میکنم روش کار کنم.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام
خب مثه اینکه بعد از تمام بحثهای اولیه(و البته مهم) به جایی که مورد علاقه بنده است، رسیدید.
ثابتهای عددی تشکیل شدن از اعداد صحیح و اعداد اعشاری و اعداد اعشاری با نماد علمی که همه اینها علامت دار هستند. (بدون علامت یعنی علامت مثبت)
اینها رو باید از روی دیاگرام انجام داد. اول باید گرامرش رو بدست آورد از روی گرامر nfa اون رو رسم کرد وبعد اونو خیلی راحت به dfa تغییر شکل داد.(این بمعنی تبدیل nfa به dfa نیست)
تموم این کارا انجام میشه تا شاکله کار بدست بیاد.
درمورد شناسه ها... اول باید کلمات کلیدی در یک جدول قرار داده بشن به ترتیبی که یک کلیدبراشون تعریف بشه. این جدول همون جدولیه که باید تمام شناسه ها بهمراه نوعشون(توکنها) در صورت جدید بودن ذخیره بشن.
کلیدی که بهش اشاره کردم برای اینه که معلوم کنه شناسه پیدا شده از کلمات کلیدیه زبان هست یا نه. درصورت یک بودن کلید دیگه اون رو در جدول بعنوان شناسه قرار نمیدیم.
تا اینجا یک چیز مشخصه: تعیین توکنها باید ترتیب خاصی داشته باشه به نحوی که انواع پرکاربرد و طولانیتر زودتر تست بشن تا مشکلی پیش نیاد.
توضیحات و جاهای خالی که حذف میشن.
شناسه ها هم که کاملا بستگی به نوع تعریفتون در این زبان داره.
ثابتهای دیگه بجز عددی ها یعنی رشته ها هم باید تعریف کنید می خواید مثه سی داخل یک جفت " باشه یا جور دیگه.
خب خروجی این بخش توکنهایی خواهند بود که باید در جایی ذخیره بشن برای مرحله بعد.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام
فکر می کنم حدود یک ساعت و شاید بیشتر وقت گذاشتم و کل تاپیک رو خودنم (تا این لحظه)
خوب خیلی از چیزها رو که مطرح شد نمی دونستم، اما قطعا علاقه مند هستم که بحث رو دنبال کنم. امیدوارم که فرصت و علم من رو یاری کنند که من هم بتونم اظهار نظری مفید کنم.
با تشکر از دوستان
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقطه ای که بین دو شناسه می ذاریم و اونا رو به هم متصل می کنه، اون چی؟ جدا حساب می شه...؟
اگر کاربر برنامه رو به هم چسبیده نوشت (طوری که کد درست خونده بشه)، برای ما ممکنه مشکلی در تحلیل لغوی پیش بیاد؟
خط جدید در تحلیل لغوی؟!
تحلیل لغوی می تونه یک بار از اول تا آخر پشت سر هم انجام بشه یا ممکنه نیاز باشه لغت های جلو تر از یه لغت رو هم تحلیل کرد؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
نقطه ای که بین دو شناسه می ذاریم و اونا رو به هم متصل می کنه، اون چی؟ جدا حساب می شه...؟
اگر کاربر برنامه رو به هم چسبیده نوشت (طوری که کد درست خونده بشه)، برای ما ممکنه مشکلی در تحلیل لغوی پیش بیاد؟
خط جدید در تحلیل لغوی؟!
تحلیل لغوی می تونه یک بار از اول تا آخر پشت سر هم انجام بشه یا ممکنه نیاز باشه لغت های جلو تر از یه لغت رو هم تحلیل کرد؟
1-در مورد نقطه: اصلا ما یک چنین ساختاری در زبانمون نداریم!
2-میتونیم از روشی که زبانی مثل ویژوال بیسیک استفاده میکنه , برای حل این مشکل استفاده کنیم.مثلآ i=1+1 رو به i = 1 + 1 تبدیل کنیم.
3- در هر زبانی از یک کاراکتر به عنوان هماهنگ کننده استفاده میشه.(مثل ; در زبان سی) و در زبان ما کاراکتر خط جدید این وظیفه رو داره.
4-از هر یک از دو راهبرد میشه استفاده کرد.ولی من از روش اول برای نوشتن تحلیلگر استفاده میکنم.
لطفآ فعلآ شما روی گرامر های مستقل از متن و تحلیلگر نحوی مطالعه و تمرکر کنید.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
از چه تحلیلگر نحوی می خواید استفاده کنید؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
شما برای نشتن تحلیلگر لغوی از چه ابزاری استفاده خواهید کرد؟ این هم هنوز برای من مفهوم نیست.
خب حالا بر فرض این تحلیلگر رو نوشتید.
از چه گرامری برای انجام تحلیلگر نحوی می خواید استفاده کنید؟ از انواع بالا به پایین یا پایین به بالا؟ (این در مفهوم ساخت درخت تجزیه تعیین میشه یعنی از ریشه به سمت برگ یا از برگ به سمت ریشه)
پایین به بالا راحتتتره. تا چه حد دقت و ظرافت کار براتون مهمه؟
یه بار گرامر تقدم عملگر توی این تاپیک مفصلا در موردش بحث شده.
اما این فقط یکیشه.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
maktoom
شما برای نشتن تحلیلگر لغوی از چه ابزاری استفاده خواهید کرد؟ این هم هنوز برای من مفهوم نیست.
خب حالا بر فرض این تحلیلگر رو نوشتید.
از چه گرامری برای انجام تحلیلگر نحوی می خواید استفاده کنید؟ از انواع بالا به پایین یا پایین به بالا؟ (این در مفهوم ساخت درخت تجزیه تعیین میشه یعنی از ریشه به سمت برگ یا از برگ به سمت ریشه)
پایین به بالا راحتتتره. تا چه حد دقت و ظرافت کار براتون مهمه؟
یه بار گرامر تقدم عملگر توی
این تاپیک مفصلا در موردش بحث شده.
اما این فقط یکیشه.
همون طور که قبلآ هم گفتم استفاده از ابزارهای ساخت تحلیلگر, انعطاف پذیری رو خیلی پایین میاره. و دارم سعی میکنم تحلیلگر لغوی رو مستقیمآ با زبان ویژوال بیسیک بنویسم.
اگه منظورتون از گرامر پایین به بالا همون تجزیه کننده پایین به بالا هست, باید عرض کنم به خاطر درگیر بودن با تحلیلگر لغوی هنوز تصمیمی در این مورد گرفته نشده.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
سلام.
من خیلی دوست دارم که بیشتر درباره مطالبی که اینجا میگذارید بدونم.
کتابی به زبان فارسی می شناسید که بتونید به من معرفی کنید. ترجیحا، الکترونیکی باشه بهتره.
دوست دارم که با دید بهتری این تاپیک رو دنبال کنم.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
الان کی تحلیلگر لغوی رو می نویسه؟ من بنویسم؟ دقیقا چی ... ؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
mr.gigil
سلام.
من خیلی دوست دارم که بیشتر درباره مطالبی که اینجا میگذارید بدونم.
کتابی به زبان فارسی می شناسید که بتونید به من معرفی کنید. ترجیحا، الکترونیکی باشه بهتره.
دوست دارم که با دید بهتری این تاپیک رو دنبال کنم.
سلام دوست عزیز.
راستش کتابی رو به اون صورت نمیتونم بهتون معرفی کنم. ولی فقط این رو بگم که کلآ کامپایلر ارتباط زیادی با مبحث نظریه زبان ها و ماشینها داره. در نتیجه توصیه من اینه که هر کتابی با موضوع نظریه زبانها و همچنین اصول طراحی کامپایلر میتونه مفید باشه.
شاید با جستجو در اینترنت بتونید مطالب خوبی پیدا کنید.کتابهای دانشگاهی در این زمینه ها هم بد نیستند.
اگر سوالی داشتید مطرح کنید, شاید بتونم با علم اندکم جوابتون رو بدم. موفق باشید.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
الان کی تحلیلگر لغوی رو می نویسه؟ من بنویسم؟ دقیقا چی ... ؟
همون طور که گفتم شما روی تحلیلگر نحوی تمرکز کنید و سعی کنید بیشتر درکش کنید تا وقتمون تلف نشه. من دارم روی تحلیلگر لغوی کار میکنم.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
فقط یه خواهشی از تمامی دوستان دارم.
کدهایی که از این به بعد اینجا قرار میگیره فقط جنبه آموزشی داره و برای انجام این پروژه هست. لطفآ از اونها بدون ذکر منبع (آدرس تاپیک) استفاده نشه.
-
1 ضمیمه
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
این هم تحلیلگر لغوی زبانمون
باز هم تکرار میکنم که این کدها فقط برای استفاده در این پروژه نوشته میشن و اینجا قرار میگیرند.
در ضمن به خاطر عجله در تعیین ساختار زبانمون, یادمون رفت که نوع بولی رو مشخص کنیم. که من نوع bool و مقادریر true , false رو به زبانمون اضافه کردم.
این هم پروتکل های تحلیلگر لغوی با تحلیلگر نحوی:
شناسه: id=1
کلمه کلیدی: KeyW = 2
علامت ":" : COLON = 3
علامت "+": Add_OPR = 4
علامت "-": SUB_OPR = 5
علامت "*": MUL_OPR = 6
علامت "/": DIV_OPR = 7
علامت "=": ASSIGN = 8
علامت "<": GREATER = 9
علامت ">": LESS = 10
علامت "=<": GreatEqual = 11
علامت "=>": LessEqual = 12
علامت "<>" : NotEqual = 13
علامت ")": PARENTHESIS_O = 14
علامت "(": PARENTHESIS_C = 15
خط جدید : NewLine = 16
داده رشته ای: STRING_ = 17
داده کاراکتر: CHAR_ = 18
داده صحیح: INTIGER_ = 19
داده اعشاری: FLOAT_ = 20
لغت اشتباه: Error = 21
لینک اصلاح شد !
ضمیمه 81837
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
عالیه! :چشمک:
مرحله ی بعد چیه؟ الان باید بریم سراغ تحلیگر نحوی یا کاری هست که باید قبلش بکنیم؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
اگه یه لغت اشتباه بدیم Error = 21 می ده اما اگه یه Symbol اشتباه مثل , بدیم؟
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
نقل قول:
نوشته شده توسط
IamOverlord
اگه یه لغت اشتباه بدیم Error = 21 می ده اما اگه یه Symbol اشتباه مثل , بدیم؟
اتفاقآ داشتم حلش میکردم.
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
اگه درست متوجه شده باشم، بهتره دوباره داخل Case Is = 20 یه Select Case دیگه بذاری...
-
نقل قول: ساخت Compiler و یک زبان برنامه نویسی جدید
لینک اصلاح شد.
نقل قول:
نوشته شده توسط
IamOverlord
اگه درست متوجه شده باشم، بهتره دوباره داخل Case Is = 20 یه Select Case دیگه بذاری...
چرا؟؟؟