تالار گفتمان مانشت
دلیل مبهم بودن این گرامر چیه؟؟ - نسخه‌ی قابل چاپ

دلیل مبهم بودن این گرامر چیه؟؟ - masood1357 - 21 آذر ۱۳۹۵ ۰۱:۱۹ ب.ظ

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

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

RE: دلیل مبهم بودن این گرامر چیه؟؟ - sharif95 - 21 آذر ۱۳۹۵ ۰۸:۲۸ ب.ظ

(۲۱ آذر ۱۳۹۵ ۰۱:۱۹ ب.ظ)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 رو در نظر بگیر، با دو درخت متفاوت می شه رسم کرد، یا به تعبیری دو مسیر متفاوت برای رسیدن به این رشته وجود داره. بنابراین مبهمه. معمولا ساده ترین راه برای تشخیص ابهام رسم درخته.

RE: دلیل مبهم بودن این گرامر چیه؟؟ - masood1357 - 22 آذر ۱۳۹۵ ۰۱:۰۹ ق.ظ

ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

RE: دلیل مبهم بودن این گرامر چیه؟؟ - sharif95 - 22 آذر ۱۳۹۵ ۱۱:۵۶ ق.ظ

(۲۲ آذر ۱۳۹۵ ۰۱:۰۹ ق.ظ)masood1357 نوشته شده توسط:  ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

این هم مثل بقیه گرامرهاست. نیازی به تبدیل نیست. چرا تبدیل؟ اینطوری خواناتره. منظورت از تبدیل اینه که با متغییر های معمولی جایگزین بشن؟ مثل S,E,...?

RE: دلیل مبهم بودن این گرامر چیه؟؟ - masood1357 - 22 آذر ۱۳۹۵ ۰۱:۱۲ ب.ظ

(۲۲ آذر ۱۳۹۵ ۱۱:۵۶ ق.ظ)sharif95 نوشته شده توسط:  [quote='masood1357' pid='427540' dateline='1481488777']
ممنون ولی مشکل من اینه که اصلا این نوع نوشتن دستور رو متوجه نمیشم. میشه این چند خط کد رو به فرم روتین گرامر تبدیل کنید برام؟؟تا منظور از هر خط رو بفهمم؟؟

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

RE: دلیل مبهم بودن این گرامر چیه؟؟ - sharif95 - 22 آذر ۱۳۹۵ ۰۶:۳۵ ب.ظ

(۲۲ آذر ۱۳۹۵ ۰۱:۱۲ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۱۱:۵۶ ق.ظ)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]


RE: دلیل مبهم بودن این گرامر چیه؟؟ - masood1357 - 22 آذر ۱۳۹۵ ۰۹:۴۱ ب.ظ

(۲۲ آذر ۱۳۹۵ ۰۶:۳۵ ب.ظ)sharif95 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۱:۱۲ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۱۱:۵۶ ق.ظ)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]

خیلی ممنون با اینکه هنوزم نفهمیدم!! ولی به هر حال مرسی

RE: دلیل مبهم بودن این گرامر چیه؟؟ - Alirezaj - 22 آذر ۱۳۹۵ ۱۰:۳۲ ب.ظ

(۲۲ آذر ۱۳۹۵ ۰۹:۴۱ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۶:۳۵ ب.ظ)sharif95 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۱:۱۲ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۱۱:۵۶ ق.ظ)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]

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

RE: دلیل مبهم بودن این گرامر چیه؟؟ - masood1357 - 22 آذر ۱۳۹۵ ۱۰:۴۷ ب.ظ

(۲۲ آذر ۱۳۹۵ ۱۰:۳۲ ب.ظ)Alirezaj نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۹:۴۱ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۶:۳۵ ب.ظ)sharif95 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۱:۱۲ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۱۱:۵۶ ق.ظ)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 یعنی چی ؟؟و یک مثال از ابهام این مساله بزنین.اگه درختش رو برام بکشین مطمعنا مطلب رو میفهمم. بازم ممنون

RE: دلیل مبهم بودن این گرامر چیه؟؟ - Alirezaj - 22 آذر ۱۳۹۵ ۱۱:۳۷ ب.ظ

(۲۲ آذر ۱۳۹۵ ۱۰:۴۷ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۱۰:۳۲ ب.ظ)Alirezaj نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۹:۴۱ ب.ظ)masood1357 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۶:۳۵ ب.ظ)sharif95 نوشته شده توسط:  
(22 آذر ۱۳۹۵ ۰۱:۱۲ ب.ظ)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 بودین چون معمولا بچه های نرم افزار هم با این درس مشکل دارن
کتاب آل شیخ رو دارین؟ (پوران )
اگه ممکنه اصل سوالی رو که گرامر رو از روی اون نوشتین ارسال کنید (فکر کنم توی تایپ بعضی جاها رو اشتباه تایپ کردین)