تالار گفتمان مانشت

نسخه‌ی کامل: دلیل مبهم بودن این گرامر چیه؟؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
واقعا از این نوع کد دستوری سر در نمیارم... میشه خط به خط رو توضیح بدیدو بفرمایید چرا گرامرش مبهمه؟؟؟

<if – st> → if <Bexp> then <st> Else <st>
<if -st>→ if <Bexp> then <st>
<st>→<if – st>
st>→A|B|C
Bexp>→ B1|B2
(21 آذر 1395 01:19 ب.ظ)masood1357 نوشته شده توسط: [ -> ]واقعا از این نوع کد دستوری سر در نمیارم... میشه خط به خط رو توضیح بدیدو بفرمایید چرا گرامرش مبهمه؟؟؟

<if – st> → if <Bexp> then <st> Else <st>
<if -st>→ if <Bexp> then <st>
<st>→<if – st>
st>→A|B|C
Bexp>→ B1|B2

رشته if B1 then if B2 then A Else B رو در نظر بگیر، با دو درخت متفاوت می شه رسم کرد، یا به تعبیری دو مسیر متفاوت برای رسیدن به این رشته وجود داره. بنابراین مبهمه. معمولا ساده ترین راه برای تشخیص ابهام رسم درخته.
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟
(22 آذر 1395 01:09 ق.ظ)masood1357 نوشته شده توسط: [ -> ]ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
(22 آذر 1395 11:56 ق.ظ)sharif95 نوشته شده توسط: [ -> ][quote='masood1357' pid='427540' dateline='1481488777']
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
[/بله مثلا به شکل S→A قابل درکه ولی این شبه کد برام قابل درک نیست. مثلا اصلا Bexp دیگه چیه یا st منظور شروعه یا استیتمنت؟ فکر کنم یکبار معادل این شبه کد رو به صورت ساده ( همون که بالا نوشتم مثه S→Bb یا ....) برام بنویسید احتمالا مشکلم حل میشه. ممنون
(22 آذر 1395 01:12 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 11:56 ق.ظ)sharif95 نوشته شده توسط: [ -> ][quote='masood1357' pid='427540' dateline='1481488777']
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
[/بله مثلا به شکل S→A قابل درکه ولی این شبه کد برام قابل درک نیست. مثلا اصلا Bexp دیگه چیه یا st منظور شروعه یا استیتمنت؟ فکر کنم یکبار معادل این شبه کد رو به صورت ساده ( همون که بالا نوشتم مثه S→Bb یا ....) برام بنویسید احتمالا مشکلم حل میشه. ممنون

[tex]E\longrightarrow if\: T\: then\: S\: else\: S\: |\: if\: T\: then\: S\: [/tex]
[tex]S\: \longrightarrow E\: |a|b|c[/tex]
[tex]T\longrightarrow b1|b2[/tex]
(22 آذر 1395 06:35 ب.ظ)sharif95 نوشته شده توسط: [ -> ]
(22 آذر 1395 01:12 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 11:56 ق.ظ)sharif95 نوشته شده توسط: [ -> ][quote='masood1357' pid='427540' dateline='1481488777']
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
[/بله مثلا به شکل S→A قابل درکه ولی این شبه کد برام قابل درک نیست. مثلا اصلا Bexp دیگه چیه یا st منظور شروعه یا استیتمنت؟ فکر کنم یکبار معادل این شبه کد رو به صورت ساده ( همون که بالا نوشتم مثه S→Bb یا ....) برام بنویسید احتمالا مشکلم حل میشه. ممنون

[tex]E\longrightarrow if\: T\: then\: S\: else\: S\: |\: if\: T\: then\: S\: [/tex]
[tex]S\: \longrightarrow E\: |a|b|c[/tex]
[tex]T\longrightarrow b1|b2[/tex]

خیلی ممنون با اینکه هنوزم نفهمیدم!! ولی به هر حال مرسی
(22 آذر 1395 09:41 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 06:35 ب.ظ)sharif95 نوشته شده توسط: [ -> ]
(22 آذر 1395 01:12 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 11:56 ق.ظ)sharif95 نوشته شده توسط: [ -> ][quote='masood1357' pid='427540' dateline='1481488777']
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
[/بله مثلا به شکل S→A قابل درکه ولی این شبه کد برام قابل درک نیست. مثلا اصلا Bexp دیگه چیه یا st منظور شروعه یا استیتمنت؟ فکر کنم یکبار معادل این شبه کد رو به صورت ساده ( همون که بالا نوشتم مثه S→Bb یا ....) برام بنویسید احتمالا مشکلم حل میشه. ممنون

[tex]E\longrightarrow if\: T\: then\: S\: else\: S\: |\: if\: T\: then\: S\: [/tex]
[tex]S\: \longrightarrow E\: |a|b|c[/tex]
[tex]T\longrightarrow b1|b2[/tex]

خیلی ممنون با اینکه هنوزم نفهمیدم!! ولی به هر حال مرسی
سلام
منبع مطالعه کامپایلرتون چی؟!گرامر رو متوجه شدید؟بگید کجا رو دقیقا متوجه نمیشید تا براتون توضیح بدم.
(22 آذر 1395 10:32 ب.ظ)Alirezaj نوشته شده توسط: [ -> ]
(22 آذر 1395 09:41 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 06:35 ب.ظ)sharif95 نوشته شده توسط: [ -> ]
(22 آذر 1395 01:12 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 11:56 ق.ظ)sharif95 نوشته شده توسط: [ -> ][quote='masood1357' pid='427540' dateline='1481488777']
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
[/بله مثلا به شکل S→A قابل درکه ولی این شبه کد برام قابل درک نیست. مثلا اصلا Bexp دیگه چیه یا st منظور شروعه یا استیتمنت؟ فکر کنم یکبار معادل این شبه کد رو به صورت ساده ( همون که بالا نوشتم مثه S→Bb یا ....) برام بنویسید احتمالا مشکلم حل میشه. ممنون

[tex]E\longrightarrow if\: T\: then\: S\: else\: S\: |\: if\: T\: then\: S\: [/tex]
[tex]S\: \longrightarrow E\: |a|b|c[/tex]
[tex]T\longrightarrow b1|b2[/tex]

خیلی ممنون با اینکه هنوزم نفهمیدم!! ولی به هر حال مرسی
سلام
منبع مطالعه کامپایلرتون چی؟!گرامر رو متوجه شدید؟بگید کجا رو دقیقا متوجه نمیشید تا براتون توضیح بدم.

راستش it هستم و کامپایلر پاس نکردم..مشکل اینه که من برای حل ابهام گرامر فقط اگر گرامر به شکلی مثلا شبیه به S→Ab باشه میتونم حل کنم و اگر به شکل شبه کدی که در سوال هست باشه نمیتونم تجزیه تحلیلش کنم. مثلا خط اول که نوشتین E→if T then S else S|if T then S یعنی چی ؟؟و یک مثال از ابهام این مساله بزنین.اگه درختش رو برام بکشین مطمعنا مطلب رو میفهمم. بازم ممنون
(22 آذر 1395 10:47 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 10:32 ب.ظ)Alirezaj نوشته شده توسط: [ -> ]
(22 آذر 1395 09:41 ب.ظ)masood1357 نوشته شده توسط: [ -> ]
(22 آذر 1395 06:35 ب.ظ)sharif95 نوشته شده توسط: [ -> ]
(22 آذر 1395 01:12 ب.ظ)masood1357 نوشته شده توسط: [ -> ]این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?
[/بله مثلا به شکل S→A قابل درکه ولی این شبه کد برام قابل درک نیست. مثلا اصلا Bexp دیگه چیه یا st منظور شروعه یا استیتمنت؟ فکر کنم یکبار معادل این شبه کد رو به صورت ساده ( همون که بالا نوشتم مثه S→Bb یا ....) برام بنویسید احتمالا مشکلم حل میشه. ممنون

[tex]E\longrightarrow if\: T\: then\: S\: else\: S\: |\: if\: T\: then\: S\: [/tex]
[tex]S\: \longrightarrow E\: |a|b|c[/tex]
[tex]T\longrightarrow b1|b2[/tex]

خیلی ممنون با اینکه هنوزم نفهمیدم!! ولی به هر حال مرسی
سلام
منبع مطالعه کامپایلرتون چی؟!گرامر رو متوجه شدید؟بگید کجا رو دقیقا متوجه نمیشید تا براتون توضیح بدم.

راستش it هستم و کامپایلر پاس نکردم..مشکل اینه که من برای حل ابهام گرامر فقط اگر گرامر به شکلی مثلا شبیه به S→Ab باشه میتونم حل کنم و اگر به شکل شبه کدی که در سوال هست باشه نمیتونم تجزیه تحلیلش کنم. مثلا خط اول که نوشتین E→if T then S else S|if T then S یعنی چی ؟؟و یک مثال از ابهام این مساله بزنین.اگه درختش رو برام بکشین مطمعنا مطلب رو میفهمم. بازم ممنون
مهم نیست که IT بودین چون معمولا بچه های نرم افزار هم با این درس مشکل دارن
کتاب آل شیخ رو دارین؟ (پوران )
اگه ممکنه اصل سوالی رو که گرامر رو از روی اون نوشتین ارسال کنید (فکر کنم توی تایپ بعضی جاها رو اشتباه تایپ کردین)
لینک مرجع