در این مطلب، ویدئو چه چیزی پایتون پایتون را می سازد؟ (با نام مستعار همه چیز درباره گرامر پایتون) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:28:26
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,100 –> 00:00:03,060
بسیار عالی است، بسیار متشکرم از حضور شما،
2
00:00:03,060 –> 00:00:06,290
بنابراین در این گفتگو
3
00:00:06,290 –> 00:00:09,719
میخواهم به سؤال جالبی بپردازم
4
00:00:09,719 –> 00:00:13,410
که چه چیزی پایتون پایتون را درست میکند، بنابراین
5
00:00:13,410 –> 00:00:15,420
ما دو بخش اصلی داریم که
6
00:00:15,420 –> 00:00:17,369
مردم معمولاً آنها را به عنوان پایتون تشخیص میدهند.
7
00:00:17,369 –> 00:00:19,020
8
00:00:19,020 –> 00:00:21,510
احتمالاً پایتون را می بینید
9
00:00:21,510 –> 00:00:23,070
که یکی ظاهر می شود که
10
00:00:23,070 –> 00:00:24,720
پیاده سازی پیش فرض است، اما
11
00:00:24,720 –> 00:00:25,800
مفسر را می توان در بسیاری از
12
00:00:25,800 –> 00:00:26,730
زبان ها انجام داد، همچنین
13
00:00:26,730 –> 00:00:28,949
پیاده سازی های دیگری نیز داریم، به
14
00:00:28,949 –> 00:00:31,320
عنوان مثال در جاوا مانند JSON یا آیتم پایتون،
15
00:00:31,320 –> 00:00:34,530
به طوری که آن قسمت واقعاً می تواند پایتون را ببیند
16
00:00:34,530 –> 00:00:36,360
. از نظر فنی چه چیزی باعث می شود پایتون پایتون را بسازد،
17
00:00:36,360 –> 00:00:38,640
بنابراین بخش دیگری وجود دارد
18
00:00:38,640 –> 00:00:40,950
که مردم معمولا آن را به عنوان پایتون می شناسند
19
00:00:40,950 –> 00:00:42,690
که گرامر درست نوع
20
00:00:42,690 –> 00:00:45,510
مشکلاتی است که شما می نویسید و بیان
21
00:00:45,510 –> 00:00:47,610
می کنید در این سخنرانی خاص که ما می
22
00:00:47,610 –> 00:00:49,800
خواهیم بر روی تمام دنیای
23
00:00:49,800 –> 00:00:51,510
اطراف آن خاص متمرکز شویم.
24
00:00:51,510 –> 00:00:53,910
جنبه زبان و اینکه چگونه
25
00:00:53,910 –> 00:00:57,510
جزئیات فنی ریز در مورد نحوه ساخت تأثیر
26
00:00:57,510 –> 00:01:00,090
زیادی روی کدی که شما می نویسید دارد، بنابراین من
27
00:01:00,090 –> 00:01:02,460
با یک جستجوی جالب شروع خواهم کرد. بنابراین
28
00:01:02,460 –> 00:01:05,930
سوال این است که آیا این کد پایتون معتبر است
29
00:01:05,930 –> 00:01:09,030
فقط 10 ثانیه، کسی که فکر میکند
30
00:01:09,030 –> 00:01:11,729
پولاک است کد پایتون مانند تیغ که
31
00:01:11,729 –> 00:01:14,939
فکر میکند نامعتبر است، خوب این به درستی جمع
32
00:01:14,939 –> 00:01:17,939
نمیشود، بنابراین در واقع
33
00:01:17,939 –> 00:01:19,740
کد پایتون معتبر است و این اولین مورد از این است.
34
00:01:19,740 –> 00:01:21,810
بنابراین نیازی به درک آن
35
00:01:21,810 –> 00:01:23,430
نیست که این بدان معناست که پایتون قادر است
36
00:01:23,430 –> 00:01:25,350
این کد را تجزیه و تحلیل کند، بنابراین برخی از
37
00:01:25,350 –> 00:01:27,930
چیزهای هوشمندانه مانند این در واقع شبیه هستند – یک
38
00:01:27,930 –> 00:01:29,790
ون بزرگتر و این چیز Lipsey
39
00:01:29,790 –> 00:01:31,409
است بنابراین، اما درست شبیه چیزی
40
00:01:31,409 –> 00:01:34,110
وحشتناک است. و بله، با این
41
00:01:34,110 –> 00:01:35,939
چیزی که میخواهم بگویم، کدی که
42
00:01:35,939 –> 00:01:38,159
مردم معمولاً بهعنوان پایتون تشخیص میدهند،
43
00:01:38,159 –> 00:01:40,170
در واقع یک زیرمجموعه کوچک از آنچه که
44
00:01:40,170 –> 00:01:43,110
زبان واقعاً اجازه میدهد است و
45
00:01:43,110 –> 00:01:47,310
راههای بسیار پیچیدهای برای درست نوشتن برنامههای پایتون معتبر وجود دارد
46
00:01:47,310 –> 00:01:49,259
و در این بحث
47
00:01:49,259 –> 00:01:50,939
ما به آن میپردازیم. برای اینکه بفهمیم
48
00:01:50,939 –> 00:01:53,340
این قوانین واقعاً چگونه طرحبندی شدهاند و
49
00:01:53,340 –> 00:01:56,939
تأثیرشان خوب است، بنابراین بیایید
50
00:01:56,939 –> 00:01:58,350
با برخی از اصول گرامر درست شروع
51
00:01:58,350 –> 00:02:00,930
کنیم، زیرا ما در مورد گرامر صحبت میکنیم، بنابراین
52
00:02:00,930 –> 00:02:03,210
گرامر اساساً یک سند است. که
53
00:02:03,210 –> 00:02:05,610
توضیح می دهد که چه چیزی درست پایتون معتبر است، بنابراین
54
00:02:05,610 –> 00:02:07,590
بیایید با نحوه توصیف این سند شروع
55
00:02:07,590 –> 00:02:10,348
کنیم تا قوانین
56
00:02:10,348 –> 00:02:11,819
درستی داشته باشیم و قوانین اساساً
57
00:02:11,819 –> 00:02:13,170
به
58
00:02:13,170 –> 00:02:14,820
عنوان نامی برای قانون توصیف می شوند که همچنین یک
59
00:02:14,820 –> 00:02:16,980
تولید است و سپس توضیحی درباره
60
00:02:16,980 –> 00:02:19,200
اینکه قانون چیست. بنابراین باید در
61
00:02:19,200 –> 00:02:20,610
نظر داشته باشید که گرامر
62
00:02:20,610 –> 00:02:22,830
دقیقاً نحوه تولید برنامههای پایتون را توضیح میدهد،
63
00:02:22,830 –> 00:02:24,930
بنابراین تجزیهگر در واقع کاری که قرار
64
00:02:24,930 –> 00:02:26,220
است انجام دهد این است که
65
00:02:26,220 –> 00:02:27,600
گرامر را میگیرد و به نوعی
66
00:02:27,600 –> 00:02:29,580
مهندسی معکوس میکند، بنابراین در سوال مقابل.
67
00:02:29,580 –> 00:02:31,020
که یک متن خاص به آن داده می شود
68
00:02:31,020 –> 00:02:33,450
، این یک برنامه پایتون است که می
69
00:02:33,450 –> 00:02:35,400
تواند گرامر کل تولید کند، اما
70
00:02:35,400 –> 00:02:36,810
باید نگران باشید که گرامر به گونه ای تنظیم شده
71
00:02:36,810 –> 00:02:38,550
است که در واقع
72
00:02:38,550 –> 00:02:40,470
گفتن خوب را بسیار آسان می کند، یک مشکل تصادفی پایتون را به من بدهید
73
00:02:40,470 –> 00:02:42,180
تا ما
74
00:02:42,180 –> 00:02:44,310
قوانینی را در اینجا خواهیم داشت و سپس توضیحات قوانین را در
75
00:02:44,310 –> 00:02:47,780
سمت دوم خواهیم داشت، بنابراین میتوانیم
76
00:02:47,780 –> 00:02:50,040
توصیفهای زیادی برای همان قوانین داشته باشیم، بنابراین این
77
00:02:50,040 –> 00:02:51,390
اساساً به این معنی است که این قانون
78
00:02:51,390 –> 00:02:52,739
در واقع میتواند این دو چیز را تولید کند.
79
00:02:52,739 –> 00:02:54,959
ad معمولاً به جای انجام این
80
00:02:54,959 –> 00:02:57,570
کار از عملگر یا استفاده می کنیم، به این معنی
81
00:02:57,570 –> 00:03:00,570
که این قانون می تواند این قطعه یا این
82
00:03:00,570 –> 00:03:03,600
قطعه دیگر باشد، علامت مثبت نیز خواهیم داشت،
83
00:03:03,600 –> 00:03:06,270
بنابراین علامت plac به معنای یک یا چند است،
84
00:03:06,270 –> 00:03:08,370
یعنی این قانون یک حرف است.
85
00:03:08,370 –> 00:03:10,260
یک یا بیشتر از یک بسیار شبیه به
86
00:03:10,260 –> 00:03:13,050
عبارات منظم است، اما در واقع
87
00:03:13,050 –> 00:03:15,360
بسیار قوی تر از آنها است، اما اگر عبارات منظم را در ذهن دارید، می توانید
88
00:03:15,360 –> 00:03:17,070
کم و بیش نحوه توصیف
89
00:03:17,070 –> 00:03:18,480
این مورد را آشنا کنید،
90
00:03:18,480 –> 00:03:20,130
بنابراین به همین ترتیب
91
00:03:20,130 –> 00:03:22,850
ما ستاره را داریم که به معنای صفر است. یا بیشتر
92
00:03:22,850 –> 00:03:24,930
پس از آن ما این کروشه ها را خواهیم داشت
93
00:03:24,930 –> 00:03:27,120
که به این معنی است که این اختیاری است بنابراین
94
00:03:27,120 –> 00:03:29,100
چیزی شبیه به این قانون خواهیم داشت به این معنی که
95
00:03:29,100 –> 00:03:31,170
شما می توانید یک قانون a یا این
96
00:03:31,170 –> 00:03:32,640
قانون خاص دیگر داشته باشید و این قانون خاص دیگر
97
00:03:32,640 –> 00:03:34,620
می تواند در آن مثال خاص اختیاری باشد
98
00:03:34,620 –> 00:03:37,470
و سپس این واقعی است،
99
00:03:37,470 –> 00:03:39,780
بنابراین اکنون که کم و بیش داریم، اما در
100
00:03:39,780 –> 00:03:41,459
ذهن داریم که این عمل یا گراهام بخشی
101
00:03:41,459 –> 00:03:43,290
از دستور زبان بازیگر پایتون است، بنابراین
102
00:03:43,290 –> 00:03:45,299
بیایید ببینیم چگونه این چیز را تفسیر می کنیم تا
103
00:03:45,299 –> 00:03:46,560
اولین قانون را شروع کنیم. که
104
00:03:46,560 –> 00:03:48,019
ورودی فایل است و سپس می گوییم که
105
00:03:48,019 –> 00:03:50,519
اساساً یک فایل چیزی که می توانید در یک
106
00:03:50,519 –> 00:03:52,440
فایل بنویسید با یک خط جدید شروع می شود و سپس
107
00:03:52,440 –> 00:03:54,870
مانند صفر یا چند عبارت و
108
00:03:54,870 –> 00:03:56,370
سپس انتهای فایل است بنابراین شما می گویید
109
00:03:56,370 –> 00:03:58,200
خوب یک دستور چیست پس شما به اینجا بروید و
110
00:03:58,200 –> 00:03:59,910
می گویید Okay I دستور یک
111
00:03:59,910 –> 00:04:01,620
عبارت ساده یا یک عبارت مرکب است و
112
00:04:01,620 –> 00:04:03,090
سپس می گویید Okay یک
113
00:04:03,090 –> 00:04:04,410
عبارت ساده است.
114
00:04:04,410 –> 00:04:06,660
115
00:04:06,660 –> 00:04:08,370
116
00:04:08,370 –> 00:04:09,989
یا کمتر از
117
00:04:09,989 –> 00:04:11,670
قبل درست را تشخیص دهید مانند دستور if while،
118
00:04:11,670 –> 00:04:13,860
بنابراین همه اینها چیزهایی
119
00:04:13,860 –> 00:04:17,339
هستند که ممکن است و این است که
120
00:04:17,339 –> 00:04:19,649
کل سند با این زیرمجموعه espana
121
00:04:19,649 –> 00:04:23,270
اساساً آنچه را که در زره پوش آنها ممکن است توصیف می کند
122
00:04:23,270 –> 00:04:25,550
و سپس باید
123
00:04:25,550 –> 00:04:28,220
دو ورودی ممکن را در اینجا تشخیص دهیم.
124
00:04:28,220 –> 00:04:33,020
یکی این است که به اینجا برویم بله، یکی از
125
00:04:33,020 –> 00:04:35,090
اینها همان چیزی است که ما آن را ترمینال می نامیم، بنابراین
126
00:04:35,090 –> 00:04:36,830
ترمینال در اینجا کلمه ای است
127
00:04:36,830 –> 00:04:38,210
که با نقل قول هایی احاطه شده است که
128
00:04:38,210 –> 00:04:40,430
به معنای واقعی کلمه این بدتر است، به عنوان مثال برای
129
00:04:40,430 –> 00:04:41,840
عبارت بی سیم ما انتظار داریم که
130
00:04:41,840 –> 00:04:43,970
جهان در حالی که و سپس ما این غیر
131
00:04:43,970 –> 00:04:45,919
ترمینال را داریم، بنابراین اگر به این گرامر به عنوان
132
00:04:45,919 –> 00:04:48,289
یک درخت توجه دارید، پایانه ها برگ ها هستند و
133
00:04:48,289 –> 00:04:50,599
یک غیر پایانه هر گره میانی
134
00:04:50,599 –> 00:04:52,069
درست است، بنابراین یک غیر پایانه اساساً
135
00:04:52,069 –> 00:04:53,389
چیزی است که شما باید آن را گسترش دهید
136
00:04:53,389 –> 00:04:56,300
اساساً به دیگری اشاره می کند. قانون بنابراین یک
137
00:04:56,300 –> 00:04:58,220
چیز که در اینجا خیلی مهم
138
00:04:58,220 –> 00:05:01,340
نیست، اما یک چیز این است که اگر
139
00:05:01,340 –> 00:05:03,470
اساساً دستور زبان نوشته شده باشد،
140
00:05:03,470 –> 00:05:05,030
این یک نوع جایگزینی است، بنابراین
141
00:05:05,030 –> 00:05:06,979
اساساً در اینجا یک قانون دارید و سپس
142
00:05:06,979 –> 00:05:08,389
همیشه شرح
143
00:05:08,389 –> 00:05:09,740
قانون را در انتها خواهید داشت.
144
00:05:09,740 –> 00:05:11,720
این تعریف دیگر را گرامر بدون متن نامید،
145
00:05:11,720 –> 00:05:13,759
اما این ایده که
146
00:05:13,759 –> 00:05:16,880
خیلی چیزها را ساده می کند و شاید این باشد
147
00:05:16,880 –> 00:05:19,580
که باید باشیم، بعداً خواهیم دید که
148
00:05:19,580 –> 00:05:21,800
این چیز چگونه بازی می کند، اما
149
00:05:21,800 –> 00:05:23,479
برای این چیز با این دو اصطلاح بسیار مهم است،
150
00:05:23,479 –> 00:05:25,550
زیرا کلماتی که میتوانید
151
00:05:25,550 –> 00:05:27,139
در ابتدای قانون بنویسید یا کلماتی
152
00:05:27,139 –> 00:05:28,940
که میتوانند قانون را شروع کنند تأثیر
153
00:05:28,940 –> 00:05:31,490
زیادی بر نحوه مجاز بودن ساختارهای خاص
154
00:05:31,490 –> 00:05:33,949
در cpython دارند، بنابراین من از این اسلاید صرف نظر میکنم
155
00:05:33,949 –> 00:05:36,500
تا این یک صفحه دیگر باشد. هنر
156
00:05:36,500 –> 00:05:38,990
گرامر بنابراین ما عباراتی را
157
00:05:38,990 –> 00:05:40,430
که قبلا ذکر کردیم به درستی می بینیم، بنابراین دیدیم
158
00:05:40,430 –> 00:05:42,409
که دستور جزء می تواند هر یک از
159
00:05:42,409 –> 00:05:44,270
اینها باشد و سپس شروع به دیدن می کنیم، به
160
00:05:44,270 –> 00:05:46,219
عنوان مثال یک دستور if کلمه ای است اگر به
161
00:05:46,219 –> 00:05:48,830
دنبال چیزی باشد که به
162
00:05:48,830 –> 00:05:50,690
یک شرط یا شرط ارزیابی می شود یا یک شی که
163
00:05:50,690 –> 00:05:54,050
ممکن است درست یا نادرست باشد، ستون و
164
00:05:54,050 –> 00:05:56,060
سپس این مجموعه اساساً یک بلوک است
165
00:05:56,060 –> 00:05:57,979
که مردم معمولاً آن را به عنوان یک بلوک می شناسند
166
00:05:57,979 –> 00:05:59,690
قهوه و یک گرم از آن است و سپس
167
00:05:59,690 –> 00:06:01,370
شما برگ و همه چیز را دارید، بنابراین این است
168
00:06:01,370 –> 00:06:02,870
که ما این سند را با
169
00:06:02,870 –> 00:06:04,789
این نوع قوانین که اساساً
170
00:06:04,789 –> 00:06:07,909
توصیف میکنند چه چیزی را میتوان
171
00:06:07,909 –> 00:06:10,490
نوشت و چه چیزی را نمیتوان درست کرد،
172
00:06:10,490 –> 00:06:12,969
بیایید تأثیر آن یا چیزهای خاصی
173
00:06:12,969 –> 00:06:17,020
را که cpython بر این موضوع تحمیل میکند تجزیه و تحلیل کنیم،
174
00:06:17,020 –> 00:06:19,520
بهویژه گرامر C Python
175
00:06:19,520 –> 00:06:21,409
یک گرامر دیگر است. بنابراین بیایید ببینیم این چیست،
176
00:06:21,409 –> 00:06:23,750
بنابراین یک گرامر دیگر گرامری است
177
00:06:23,750 –> 00:06:26,719
که قسمتهای آن از چپ به راست است،
178
00:06:26,719 –> 00:06:28,310
چپترین مشتق را انجام میدهند، به این معنی
179
00:06:28,310 –> 00:06:30,050
که ابتدا صحبت کردن را که
180
00:06:30,050 –> 00:06:31,430
در سمت چپ است و شما را تجزیه و تحلیل میکنید. ستاره
181
00:06:31,430 –> 00:06:33,260
از آن پوشانده شده است و این
182
00:06:33,260 –> 00:06:34,610
مهمترین قانون است که این است که وقتی شما
183
00:06:34,610 –> 00:06:36,349
در حال تجزیه هستید مانند تجزیه کننده در هنگام تجزیه و
184
00:06:36,349 –> 00:06:37,070
تحلیل
185
00:06:37,070 –> 00:06:38,330
برنامه دختر در حال مقایسه آن
186
00:06:38,330 –> 00:06:40,520
با رامر است فقط می توانید یک نشانه
187
00:06:40,520 –> 00:06:42,560
روی آن مانند یک تاک کلاه نیست.
188
00:06:42,560 –> 00:06:44,060
به این معنی که اگر من نیاز به
189
00:06:44,060 –> 00:06:46,310
تشخیص قاعده ای مانند ذهن داشته باشم، شما یک
190
00:06:46,310 –> 00:06:48,080
قانون خاص دارید که دارای دو
191
00:06:48,080 –> 00:06:49,820
امکان اسلاید دو تولید است و
192
00:06:49,820 –> 00:06:51,230
سپس باید تشخیص دهم که کدام یک از
193
00:06:51,230 –> 00:06:53,240
این دو مورد صحیح است، بنابراین برای انجام
194
00:06:53,240 –> 00:06:55,280
آن فقط می توانم به نشانه بعدی نگاه کنم.
195
00:06:55,280 –> 00:06:56,660
در ورودی سمت راست، به عنوان مثال، اگر شما
196
00:06:56,660 –> 00:06:59,390
در حال انجام کاری شبیه به X در محدوده
197
00:06:59,390 –> 00:07:01,790
چیزی هستید و من این کلمه را پیدا می کنم که اگر
198
00:07:01,790 –> 00:07:03,170
نیاز به تشخیص دو محصول مختلف
199
00:07:03,170 –> 00:07:05,570
داشته باشم، فقط می توانم به یک نشانه
200
00:07:05,570 –> 00:07:08,390
جلوتر نگاه کنم، این X هستند که به عنوان مثال من
201
00:07:08,390 –> 00:07:10,610
آن را گذاشتم. به نظر می رسد که این یک
202
00:07:10,610 –> 00:07:12,230
مشکل بسیار شناخته شده است که چگونه حل کردن
203
00:07:12,230 –> 00:07:14,540
اینگونه در واقع منجر به تجزیه کننده های بسیار ساده می شود،
204
00:07:14,540 –> 00:07:17,660
اما گرامر پایتون دو
205
00:07:17,660 –> 00:07:19,520
ویژگی دیگر دارد که ممکن است این بخش
206
00:07:19,520 –> 00:07:21,590
ها برای کسانی که بیشتر می دانند ساده
207
00:07:21,590 –> 00:07:24,290
تر باشد. کمی تئوری گرامر اساساً
208
00:07:24,290 –> 00:07:26,690
این یک
209
00:07:26,690 –> 00:07:29,330
جدول جزئی با آنچه به عنوان اولین سلول شناخته می شود تا حدی ایجاد شده است
210
00:07:29,330 –> 00:07:31,010
و عکس بعداً بیشتر در این مورد نشان می دهد،
211
00:07:31,010 –> 00:07:32,900
اما به خصوص ما در
212
00:07:32,900 –> 00:07:35,420
اینجا دو چیز دیگر داریم یکی اینکه
213
00:07:35,420 –> 00:07:37,160
گرامر پایتون اجازه خالی را نمی دهد. تولیدات به
214
00:07:37,160 –> 00:07:39,440
این معنی است که هر قانون باید
215
00:07:39,440 –> 00:07:41,150
چیزی باشد که به رشته خالی
216
00:07:41,150 –> 00:07:42,620
ختم نشود، بنابراین یک تولید خالی
217
00:07:42,620 –> 00:07:44,300
اساساً قانونی است که می تواند خالی باشد و
218
00:07:44,300 –> 00:07:45,980
این باعث می شود که قطعات سخت تر شوند
219
00:07:45,980 –> 00:07:48,500
زیرا اگر قوانینی داشته باشید که می توانند
220
00:07:48,500 –> 00:07:50,060
خالی باشند و شما فقط می توان به یک نشانه جلوتر نگاه کرد،
221
00:07:50,060 –> 00:07:52,430
سپس اگر قانون خالی است، باید
222
00:07:52,430 –> 00:07:54,380
واقعاً به آن نگاه کنید، بنابراین این چیزی است که منجر
223
00:07:54,380 –> 00:07:56,450
به چیزی می شود که مجموعه های دنباله دار نامیده می شود، بنابراین
224
00:07:56,450 –> 00:07:58,040
ما چون به آنها نیاز نداریم در
225
00:07:58,040 –> 00:07:59,840
نمایش این لحن می دانیم و سپس
226
00:07:59,840 –> 00:08:01,850
نوع دیگری داریم. قانون که کمی لوسی تر است
227
00:08:01,850 –> 00:08:03,830
و این در واقع اجرا نمی شود،
228
00:08:03,830 –> 00:08:05,480
اما اساساً دستور زبان به
229
00:08:05,480 –> 00:08:08,000
گونه ای تنظیم شده است که به این معنی است که در برخی سطوح
230
00:08:08,000 –> 00:08:10,190
فقط آخرین جایگزین مسیر هستند و
231
00:08:10,190 –> 00:08:13,550
چگونه یک غیر پایانه است، به عنوان مثال ما می توانیم
232
00:08:13,550 –> 00:08:16,880
او خوب است، برای مثال بیایید این یکی را ببینیم،
233
00:08:16,880 –> 00:08:20,300
بنابراین اگر شما این را می بینید، بنابراین
234
00:08:20,300 –> 00:08:22,460
گل استمن، بنابراین ما ادامه
235
00:08:22,460 –> 00:08:24,470
قیمت بازگشت و معامله را داریم، بنابراین
236
00:08:24,470 –> 00:08:26,210
همه آنها را بررسی کنید به جز Jill، آنها با یک
237
00:08:26,210 –> 00:08:27,950
حق غیر پایانی شروع می شوند، به عنوان مثال شروع می شوند
238
00:08:27,950 –> 00:08:30,020
پایان پایان با استراحت ده دقیقه ادامه مییابد
239
00:08:30,020 –> 00:08:31,940
که ما ادامه میدهیم و غیره یک
240
00:08:31,940 –> 00:08:33,650
دابا تنها کسی که در واقع
241
00:08:33,650 –> 00:08:35,299
با یک غیر پایانی شروع میکند، دستور معامله است
242
00:08:35,299 –> 00:08:37,370
که در اینجا یک غیر پایانی به نام
243
00:08:37,370 –> 00:08:38,900
عبارت معامله است، بنابراین این کم و بیش
244
00:08:38,900 –> 00:08:40,870
طرحبندی است و این کار را کمی سادهتر
245
00:08:40,870 –> 00:08:43,940
میکند. اولین مجموعهها طرحبندی شدهاند و
246
00:08:43,940 –> 00:08:47,140
تولید تجزیه را آسانتر میکند بنابراین
247
00:08:47,140 –> 00:08:49,190
خوب است، بنابراین این کم و بیش گرامر است،
248
00:08:49,190 –> 00:08:50,910
بنابراین بیایید
249
00:08:50,910 –> 00:08:52,980
توضیح دهیم که این حس اول چیست، بنابراین
250
00:08:52,980 –> 00:08:54,930
اولین جستجوی یک قانون برای مثال یک
251
00:08:54,930 –> 00:08:57,270
عبارت ساده همه
252
00:08:57,270 –> 00:08:59,310
غیر پایانهها هستند. قانون می تواند با شروع شود
253
00:08:59,310 –> 00:09:01,200
و این بسیار مهم است زیرا همانطور که
254
00:09:01,200 –> 00:09:02,880
قبلاً دیدیم اگر فقط اجازه داشته
255
00:09:02,880 –> 00:09:05,490
باشیم به نماد بعدی نگاه کنیم و باید
256
00:09:05,490 –> 00:09:07,590
ببینیم آیا یک قانون خاص معتبر است
257
00:09:07,590 –> 00:09:09,180
یا خیر، دانستن همه موارد بسیار جالب خواهد بود. او
258
00:09:09,180 –> 00:09:10,980
توکنهای ممکن آن قانون را با درست شروع میکند،
259
00:09:10,980 –> 00:09:12,570
زیرا اگر ما آن توکن را داشته باشیم
260
00:09:12,570 –> 00:09:14,190
و توکن در یکی از این
261
00:09:14,190 –> 00:09:15,900
پایانههای غیرمجاز خاص
262
00:09:15,900 –> 00:09:17,460
باشد، میدانیم که خوب هستیم
263
00:09:17,460 –> 00:09:19,230
زیرا ممکن است آن قانون
264
00:09:19,230 –> 00:09:21,000
با آن نشانه شروع شود.
265
00:09:21,000 –> 00:09:22,500
اگر یک نشانه خاص داشته باشیم و سپس
266
00:09:22,500 –> 00:09:24,240
سعی کنیم یک قانون را تصویب کنیم و آن قانون
267
00:09:24,240 –> 00:09:25,650
با آن نشانه شروع نمی شود، می دانیم
268
00:09:25,650 –> 00:09:27,420
که نامعتبر است، بنابراین می توانیم بگوییم که یک
269
00:09:27,420 –> 00:09:29,760
خطای نحوی است درست است، بنابراین این همان چیزی است
270
00:09:29,760 –> 00:09:32,160
که به آن مجموعه اول می گویند و
271
00:09:32,160 –> 00:09:34,590
بعداً بسیار مهم خواهد بود، بنابراین این
272
00:09:34,590 –> 00:09:36,090
اولین مجموعه صدای عبارت است، بنابراین
273
00:09:36,090 –> 00:09:37,350
برای مثال، نواختن فقط با
274
00:09:37,350 –> 00:09:38,820
پرانتز پرین میتواند فقط با افزایش شروع شود،
275
00:09:38,820 –> 00:09:40,500
اما دستور ساده میتواند با همه این موارد شروع شود،
276
00:09:40,500 –> 00:09:44,670
بسیار خوب، پس بیایید ببینیم
277
00:09:44,670 –> 00:09:46,680
تجزیهکننده چگونه کار میکند. بنابراین ببینید پایتون در واقع
278
00:09:46,680 –> 00:09:48,600
تجزیهکننده دستی ندارد، بلکه
279
00:09:48,600 –> 00:09:50,280
یک تجزیهکننده دارد، بنابراین ابزاری
280
00:09:50,280 –> 00:09:52,650
است که تجزیهکننده را از فایل گرامر برای ما تولید میکند
281
00:09:52,650 –> 00:09:54,660
که باعث میشود آن را
282
00:09:54,660 –> 00:09:57,210
بسیار کمتر در معرض خطا قرار دهید زیرا
283
00:09:57,210 –> 00:09:58,800
نیازی به آن ندارید. d برای تغییر دستی تجزیه کننده
284
00:09:58,800 –> 00:10:00,900
هر بار که قوانین گرامری بیشتری تولید
285
00:10:00,900 –> 00:10:03,630
می کنید، بنابراین بیایید ببینیم چگونه کار می کند، بنابراین در
286
00:10:03,630 –> 00:10:05,580
واقع یک چیز بسیار ساده است، بنابراین ما
287
00:10:05,580 –> 00:10:08,040
با گرامر در استفاده گسترده و
288
00:10:08,040 –> 00:10:09,450
نه به شکلی که سندی است
289
00:10:09,450 –> 00:10:12,030
که قبلاً دیدیم شروع می کنیم. این
290
00:10:12,030 –> 00:10:14,130
خودکارهای متناهی غیر قطعی تولید می کند،
291
00:10:14,130 –> 00:10:16,440
بنابراین ما خواهیم دید که اساساً چیست
292
00:10:16,440 –> 00:10:19,860
این چیزها فقط
293
00:10:19,860 –> 00:10:21,450
جریان نمودار را کنترل می کنند، بنابراین
294
00:10:21,450 –> 00:10:22,950
وقتی گره ها و فلش
295
00:10:22,950 –> 00:10:24,780
هایی دارید که به شما می گویند کدام گزینه را به شما می گویند، این نوع ترسیم را دوست دارید.
296
00:10:24,780 –> 00:10:26,730
چیزهایی که
297
00:10:26,730 –> 00:10:28,980
این چیزهای اولیه بسیار
298
00:10:28,980 –> 00:10:30,330
ساده تولید می شوند اما بسیار
299
00:10:30,330 –> 00:10:31,980
پیچیده هستند پر از خطا و
300
00:10:31,980 –> 00:10:34,950
پیچیدگی است، بنابراین مرحله ای که
301
00:10:34,950 –> 00:10:36,450
یکی از آنها را می گیرد و آنها را با
302
00:10:36,450 –> 00:10:38,100
این اتوماتای خنده دار مانکتریک همبسته تبدیل می کند، ا
303
00:10:38,100 –> 00:10:39,810
اساً آن را ساده می کند و آن
304
00:10:39,810 –> 00:10:44,070
ا بیشتر می کند. دنبال کردن آن آسان است، بنابراین بیایید
305
00:10:44,070 –> 00:10:46,020
یک مثال را ببینیم، بنابراین بیایید بگوییم
306
00:10:46,020 –> 00:10:47,280
با این قانون شروع می کنیم که قانون
307
00:10:47,280 –> 00:10:49,830
عواملی است که درست مانند یک بعلاوه B یک منهای B
308
00:10:49,830 –> 00:10:51,510
چیزی درست نیست، بنابراین این
309
00:10:51,510 –> 00:10:53,580
این قانون است، بنابراین اولین چیزی
310
00:10:53,580 –> 00:10:55,200
که قسمتی که مولد تجزیه کننده است،
311
00:10:55,200 –> 00:10:57,420
اتوماتای متناهی غیر قطعی را تولید می کند که
312
00:10:57,420 –> 00:10:59,250
ین نمودار کنترلی درست است، بنابراین ما در
313
00:10:59,250 –> 00:11:01,140
ین حالت مطالعه می کنیم و سپس پا
314
00:11:01,140 –> 00:11:03,270
ین می رویم تا زمانی که شروع به دیدن ای
315
00:11:03,270 –> 00:11:04,800
316
00:11:04,800 –> 00:11:06,780
کنیم. آیا شما از اینجا شروع می کنید و
317
00:11:06,780 –> 00:11:08,430
سپس برنامه خاصی را می خوانید
318
00:11:08,430 –> 00:11:10,350
که سعی می کند از آن قانون پیروی کند و
319
00:11:10,350 –> 00:11:13,470
اگر بتوانید از حالت
320
00:11:13,470 –> 00:11:15,450
به انتها بروید، اگر نتوانید از ابتدا به آن بروید، این قانون صحیح است.
321
00:11:15,450 –> 00:11:17,550
322
00:11:17,550 –> 00:11:19,140
در پایان، قانون نامعتبر است، بنابراین به این
323
00:11:19,140 –> 00:11:21,300
فکر می کنید که به جای مثبت منهای و تا
324
00:11:21,300 –> 00:11:23,880
L، ستاره راست داشته باشید که به
325
00:11:23,880 –> 00:11:26,250
طور خاص بخشی از این قانون نیست، بنابراین
326
00:11:26,250 –> 00:11:27,660
شما اینجا را دنبال نکردید زیرا
327
00:11:27,660 –> 00:11:29,670
هیچ مرحله ای وجود ندارد که دارای SD باشد.
328
00:11:29,670 –> 00:11:31,470
در واقع در قدرت پنهان است، بنابراین یک
329
00:11:31,470 –> 00:11:33,600
برنامه پایتون معتبر است، اما اگر فعلاً به قدرت نگاه نکنید،
330
00:11:33,600 –> 00:11:35,490
می توانید تصور کنید که چگونه
331
00:11:35,490 –> 00:11:37,170
نمی توانید این را در حال حاضر دنبال کنید، بنابراین این
332
00:11:37,170 –> 00:11:39,570
بسیار پیچیده است زیرا در 30 فقط می
333
00:11:39,570 –> 00:11:41,910
توانید فلش ها را دنبال کنید اگر یکی از
334
00:11:41,910 –> 00:11:43,740
نشانه ها باشد. مجاز است بنابراین آن را برای مثال r برای
335
00:11:43,740 –> 00:11:45,420
این روز برای دو حالت هشت بسیار
336
00:11:45,420 –> 00:11:46,710
آسان است که بدانید آیا می توانید دنبال کنید زیرا
337
00:11:46,710 –> 00:11:48,270
اگر علامت منفی را پیدا کنید می توانید
338
00:11:48,270 –> 00:11:50,520
ادامه دهید اما اگر علامت منفی را پیدا
339
00:11:50,520 –> 00:11:52,860
نکردید نمی توانید آن را دنبال کنید و
340
00:11:52,860 –> 00:11:54,930
مشکل این است که ما در اینجا در
341
00:11:54,930 –> 00:11:56,520
اتوماتای غیر قطعی چند مر
342
00:11:56,520 –> 00:11:58,470
له داریم که نمی دانیم می توانیم آن
343
00:11:58,470 –> 00:12:00,690
ا را دنبال کنیم یا نه، به عنوان مثال بر
344
00:12:00,690 –> 00:12:02,310
ی رفتن به حالت صفر دو حالت یک یا
345
00:12:02,310 –> 00:12:04,650
و که هیچ علامت خاصی بر
346
00:12:04,650 –> 00:12:06,840
ی آن نداریم. این یک مشکل است زیرا
347
00:12:06,840 –> 00:12:08,820
ما نمی دانیم که آیا می توانیم قانون
348
00:12:08,820 –> 00:12:10,440
انتقال به حالت های دیگر کجاست یا نه
349
00:12:10,440 –> 00:12:11,940
، این بخش پیچیده
350
00:12:11,940 –> 00:12:14,400
اتوماتای متناهی غیر قطعی است، بنابراین گا
351
00:12:14,400 –> 00:12:16,380
بعدی تولید یک قا
352
00:12:16,380 –> 00:12:18,630
ده قطعی است که این است که یکی پس در این مورد، همانطور
353
00:12:18,630 –> 00:12:20,910
که میتوانید همه حالتها را ببینید، تنها
354
00:12:20,910 –> 00:12:22,620
انتقال بین یک حالت و چیزی
355
00:12:22,620 –> 00:12:24,270
توسط یک نشانه خاص دنبال میشود، به
356
00:12:24,270 –> 00:12:26,250
عنوان مثال، اگر یکی در حالت 0 باشد، فقط
357
00:12:26,250 –> 00:12:27,960
باید به نماد نور بعدی در
358
00:12:27,960 –> 00:12:30,240
ورودی یا بعلاوه نگاه کنیم. منهای یا تا و
359
00:12:30,240 –> 00:12:32,310
اگر هیچ کدام از th نیست ما می گوییم که این
360
00:12:32,310 –> 00:12:33,840
قانون اگر یکی از این موارد باشد، نامعتبر است،
361
00:12:33,840 –> 00:12:35,340
پس از آن پیروی می کنیم و به
362
00:12:35,340 –> 00:12:37,560
حالت یک می رویم و حالت یک به فاکتور فراخوانی قانون دیگر می رود،
363
00:12:37,560 –> 00:12:39,210
اما همانطور که می بینید در
364
00:12:39,210 –> 00:12:42,540
این یک DFA واقعی است متأسفم بله
365
00:12:42,540 –> 00:12:44,700
DFA وجود ندارد. انتقال بین
366
00:12:44,700 –> 00:12:46,350
حالت و حالت با انتقال ناشناخته ما،
367
00:12:46,350 –> 00:12:47,880
اما شما می توانید چیزی را ببینید
368
00:12:47,880 –> 00:12:49,500
که هنوز بد است، به عنوان مثال
369
00:12:49,500 –> 00:12:51,930
این گره ای که در اینجا جدا شده است، این
370
00:12:51,930 –> 00:12:53,550
سگ زباله است، معنایی
371
00:12:53,550 –> 00:12:55,950
ندارد، فقط به این معنی است که وقتی
372
00:12:55,950 –> 00:12:57,780
این چیز را به این چیز تبدیل می کنیم. ما
373
00:12:57,780 –> 00:12:59,580
چیزهایی را تولید می کنیم که یا
374
00:12:59,580 –> 00:13:01,320
بسیار پیچیده هستند یا نمی توانند آنها
375
00:13:01,320 –> 00:13:03,720
اساساً تراویس هستند که هیچ حالتی ندارند،
376
00:13:03,720 –> 00:13:05,520
بنابراین گام بعدی ساده کردن آن
377
00:13:05,520 –> 00:13:07,500
چیزی است که DFA نهایی نامیده می شود، بنابراین
378
00:13:07,500 –> 00:13:09,390
اساساً پیچیدگی را
379
00:13:09,390 –> 00:13:11,700
حذف می کنیم و این گره خاص را حذف می کنیم.
380
00:13:11,700 –> 00:13:12,870
این اساساً همان چیزی است که
381
00:13:12,870 –> 00:13:14,370
این نوع نمودارهای جریان کنترلی را تولید می کند
382
00:13:14,370 –> 00:13:15,810
که هنوز هم بسیار
383
00:13:15,810 –> 00:13:17,670
پیچیده هستند با الگوریتم خاصی
384
00:13:17,670 –> 00:13:18,330
385
00:13:18,330 –> 00:13:20,640
که شما آن را به این تبدیل می کنید که
386
00:13:20,640 –> 00:13:23,070
در قدیمی و fr بسیار شناخته شده است. om این دوستان
387
00:13:23,070 –> 00:13:24,870
ساده سازی هایی را اجرا می کنند که به آن
388
00:13:24,870 –> 00:13:26,730
الگوریتم کمینه سازی می گویند و سپس
389
00:13:26,730 –> 00:13:28,350
آنها را در اینجا تولید می کنید و این
390
00:13:28,350 –> 00:13:30,570
نمودار خاص همان چیزی است که تجزیه کننده
391
00:13:30,570 –> 00:13:32,400
دنبال می کند اگر فکر می کنید که کم
392
00:13:32,400 –> 00:13:34,740
و بیش مانند جدول هش یا فرهنگ لغت است
393
00:13:34,740 –> 00:13:36,390
بنابراین اساساً در یک وضعیت خاص هستید.
394
00:13:36,390 –> 00:13:38,280
و سپس به کلیدهای ممکن در اینجا نگاه می کنید که
395
00:13:38,280 –> 00:13:40,650
به علاوه منهای یا tilde هستند و
396
00:13:40,650 –> 00:13:42,060
اگر آنها را در فرهنگ لغت یا
397
00:13:42,060 –> 00:13:43,530
جدول هش دارید، به
398
00:13:43,530 –> 00:13:46,020
هر مقداری که دارید انتقال می دهید و اگر فقط نمی
399
00:13:46,020 –> 00:13:47,640
گویید که بریتانیایی ها درگیر هستند، بنابراین
400
00:13:47,640 –> 00:13:49,740
در واقع باعث می شود تجزیه کننده ها
401
00:13:49,740 –> 00:13:52,110
بسیار سریع هستند زیرا اساساً
402
00:13:52,110 –> 00:13:54,060
نوعی جستجوی جدول هش است که بارها و بارها و بارها و بارها و بارها و
403
00:13:54,060 –> 00:13:56,340
بارها و این قوانین در اینجا قرار می گیرند،
404
00:13:56,340 –> 00:13:57,960
به عنوان مثال هنگامی که شما Oh به قدرت
405
00:13:57,960 –> 00:14:00,330
مانند جعبه مربع در قدرت دارید، یکی دیگر
406
00:14:00,330 –> 00:14:01,980
از اینها را دارید که اساساً با یک
407
00:14:0