PDA

View Full Version : سوال: تفسیر فایل



moonDark
سه شنبه 16 آبان 1391, 16:04 عصر
سلامی دوباره
یه سوال دارم
چه طوری میشه یه فایل رو تفسیر کرد؟
مثلا مرورگر ها وقتی یه سایتو باز میکنن سورس HTML شو اول میخونن و تفسیرش میکنن و بر اساس اون فایل HTML کار های خاصی انجام میدن مثلا یه متن رو نشون میدن یا یه جعبه میکشن و ...
منم میخام یه برنامه بنویسم که بشه باهاش یه همچین کاری کرد:شیطان:
مثلا یه فایل متنی رو باز کنه و شروع به خوندنش کنه و وقتی به کاراکتر '>' رسید بفهمه که به یه اپشن رسیده و چهار کاراکتر بعد از اون علامت رو بریزه داخل یه آرایه و اون آرایه رو بخونه اگه کلمه aaaa بود یه فاصله جا بزاره و بعد سه کلمه بعدو توی یه آرایه دیگه بریزه و اون سه کلمه رو بخونه و همینجور تا آخر تا وقتی که به </ رسید بعد از اون فایلو به صورت عادی بخونه و اطلاعاتشو نشون بده تا زمانی که دوباره به همون کاراکتر > برسه و ... :لبخند:
و اگه موقع خوندن اون کاراکتر های داخل اپشن چیز ناشناخته نوشته شده بود از اپشن بیاد بیرون و همه اون کاراکتر هارو نشون بده :خجالت:

اگه کمک کنید خیلی ممنون میشم:لبخند::لبخند::لبخند:
کارم به خاطر همین مسئله افتاده روی زمین:گریه:

مسعود اقدسی فام
سه شنبه 16 آبان 1391, 16:32 عصر
بد نیست نگاهی به کتابای کامپایلر بندازید.

البته این چیزایی که شما گفتید ساده‌تر از این حرفان که کامپایلر بخونید.

black_binary
سه شنبه 16 آبان 1391, 19:40 عصر
من یک برنامه شبیه به این نوشتم که یک فایل متنی را میخواند هرجا عدد میدید جملات بعدش رو چک میکرد اگر فرمول ریاضی بود اونرو محاسبه میکرد
روند کارساده بود:
اول با string.split رشته ها(کلمات) فایلم رو توی یک آرایه میریختم بعد کرکترهای تک تک خونه های آرایه رو پردازش میکردم و........

omidshaman
سه شنبه 16 آبان 1391, 19:52 عصر
این جوری که نمیشه الان کجاشو کمک می خوای ؟!!
شما دقیق توضیح بده می خوای چکار بکنی و کدی هم که تا حالا نوشتیو بزار ! هر جاشو مشکل داشتی بقیه بهت کمک کنن حس ششم که نداریم!

Khashayargh
چهارشنبه 17 آبان 1391, 21:54 عصر
دوست عزیز من کامل متوجه منظورت نشدم ولی کامپایلر اول سر فایلها و ماکرو ها را چک می کند بعد سراغ main می رود اگر می خوای قبل از main یه فرمول یا هر چیزه دیگه رو انجام بده از function -like macro استفاده کن برای فایلم اگر در c میخوای پروتتایپ کنی از دستور FILE و اگر بر پایه ی ++C می خوای کامپایل بگیری از سرفابل fstream استفاده کن.

moonDark
چهارشنبه 17 آبان 1391, 22:57 عصر
ببخشید ترافیک اینترنتم تموم شده بود :لبخند:
از این واضح تر دیگه نشد
اینم بگم که برنامه کنسولی و داخل ویندوز هست
یه همچین چیزی میخام:
this is a text <box 102 1 1 5 9/> this is another text
<swin "main" 50 20/> <label "this is a label" 98 10 11 20 15/>
Another text!! <move 5 9/> A text on x=5 and y=9 coordinates!!

این برنامه من باید این یه فایل رو که حاوی این اطلاعات هست رو بخونه و جاهایی رو که متن معمولی خارج از </> هست رو به صورت عادی روی صفحه بنویسه
وقتی به <box رسید بفهمه که باید یه جعبه با کد رنگ 102 و مختصات x1=1 y1=1 x2=5 y2=9 بکشه (خودم دستور ترسیم جعبه و تغییر رنگ رو دارم) و وقتی به /> رسید کارشو به صورت عادی انجام بده و اگه دوباره به یه اپشن رسید یه کار خاص انجام بده مثلا وقتی به >label رسید متن "this is a label" رو با رنگ 98 و در مختصات داده شده بنویسه و اگه داخل اپشن چیز اضافه یا کم بود کل اپشن رو چاپ کنه بدون اینکه کار خاصی انجام بده:شیطان:

میدونم کار سختیه ولی ازتون خیلی ممنون میشم اگه کمک کنید:خجالت::لبخندساده:

omidshaman
چهارشنبه 17 آبان 1391, 23:07 عصر
یعنی چی کارشو بصورت عادی انجام بده کار عادیش چیه؟
یعنی مثلا این برنامه شما اول this is a test رو چاپ می کنه بعد یک جعبه می کشه بعد تایپ می کنهthis is another text ؟
در کل کار سختی نیست چند تا حلقه for ,if میخواد با یک ارایه!

moonDark
چهارشنبه 17 آبان 1391, 23:13 عصر
بله منظورم از کار عادیش چاپ مته
من بار اولمه میخام همچین چیزی بنویسم و زیاد کار با خواندم از فایل و کار با آرایه هارو بلد نیستم
اگه میشه بیشتر توضیح بدید