در این مطلب، ویدئو ساخت Parser (تجزیه کننده) متن با سی شارپ و ANTLR را برای دانلود قرار داده ام. شما میتوانید با خرید اکانت vip ، این ویدیو و تمامی فیلم ها و پکیج ها و سورس کد های سایت را دانلود نمائید.اکثر فیلم های سایت پروگرم 98 به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
2
00:00:01,680 –> 00:00:03,520
پیوستن به مهمانی، هنوز
3
00:00:03,520 –> 00:00:06,080
نقطه اتصال شبکه انجام نشده است، و
4
00:00:06,080 –> 00:00:07,279
ما هیجان زده هستیم،
5
00:00:07,279 –> 00:00:10,320
من رابین و
6
00:00:10,320 –> 00:00:12,240
رابین را به همراه میآورم، تو ذهن ما را
7
00:00:12,240 –> 00:00:14,160
با چیزهای
8
00:00:14,160 –> 00:00:17,520
جالبی منفجر میکنی. شما در مورد
9
00:00:17,520 –> 00:00:20,720
استفاده از شاخ برای تجزیه متن به ما آموزش خواهید داد، بله
10
00:00:20,720 –> 00:00:23,199
درست است، بنابراین شگفت انگیز به نظر می
11
00:00:23,199 –> 00:00:23,840
12
00:00:23,840 –> 00:00:26,640
رسد من درباره شاخ شاخ خوانده ام و
13
00:00:26,640 –> 00:00:29,199
هر بار که به آن نگاه کرده ام ترسیده
14
00:00:29,199 –> 00:00:31,679
ام. همچنین
15
00:00:31,679 –> 00:00:32,880
کد شخص متنی
16
00:00:32,880 –> 00:00:34,640
نوشتم که مطمئنم کد من دیگران را ترسانده است،
17
00:00:34,640 –> 00:00:36,960
بنابراین خوشحالم که می بینم
18
00:00:36,960 –> 00:00:38,719
راه درست انجام این کار را به ما آموزش می دهید،
19
00:00:38,719 –> 00:00:40,719
خب، خوب بیایید شروع کنیم،
20
00:00:40,719 –> 00:00:43,120
همانطور که شما گفتید پیش می رویم.
21
00:00:43,120 –> 00:00:44,079
اینجا
22
00:00:44,079 –> 00:00:47,120
فوقالعاده است، پس بیایید شروع کنیم، شما میتوانید متأسفانه ضربه بزنید
23
00:00:47,120 –> 00:00:47,520
،
24
00:00:47,520 –> 00:00:49,120
اما قبل از اینکه وارد آن شوید، به
25
00:00:49,120 –> 00:00:50,719
آن چیز کوچک مخفی در پایین
26
00:00:50,719 –> 00:00:51,680
27
00:00:51,680 –> 00:00:54,160
ضربه بزنید و بله، آن را آزاد میکند،
28
00:00:54,160 –> 00:00:55,760
عالی این است که بهتر است،
29
00:00:55,760 –> 00:00:58,879
پس من رابین هستم. محتوای pm در
30
00:00:58,879 –> 00:01:02,239
مایکروسافت من روی dynamics
31
00:01:02,239 –> 00:01:05,438
665 کار می کنم و روی محتوای توسعه دهنده برای
32
00:01:05,438 –> 00:01:06,240
محصول کار می کنم
33
00:01:06,240 –> 00:01:09,200
و اخیراً داشتم یک سری محتوا در
34
00:01:09,200 –> 00:01:12,720
markdown که باید به xml منتقل میشدم
35
00:01:12,720 –> 00:01:15,200
و همچنین اخیراً در کلاس کامپایلر
36
00:01:15,200 –> 00:01:16,080
37
00:01:16,080 –> 00:01:17,759
در گرجستان Tech شرکت کردهام و بنابراین گفتم خوب
38
00:01:17,759 –> 00:01:19,439
میدانید فکر میکنم چه چیزی میتوانم از antler برای این کار استفاده کنم،
39
00:01:19,439 –> 00:01:20,080
40
00:01:20,080 –> 00:01:23,280
پس اجازه دهید آن را امتحان کنم و بیایید
41
00:01:23,280 –> 00:01:25,360
به اسلاید بعدی برویم،
42
00:01:25,360 –> 00:01:27,200
مردم اغلب به antler به عنوان یک
43
00:01:27,200 –> 00:01:29,119
ابزار تجزیه برای
44
00:01:29,119 –> 00:01:30,479
زبان های برنامه نویسی فکر می کنند، اما شما
45
00:01:30,479 –> 00:01:32,159
در واقع می توانید هر نوع
46
00:01:32,159 –> 00:01:34,320
متن ساختاریافته یا فایل های باینری را تجزیه
47
00:01:34,320 –> 00:01:37,520
و تحلیل کنید و می توانید
48
00:01:37,520 –> 00:01:39,200
نمونه گرامر برای انواع
49
00:01:39,200 –> 00:01:41,119
مختلف زبان ها را پیدا کنید و من حتی پیدا کردم. یکی برای
50
00:01:41,119 –> 00:01:42,159
کد مورس،
51
00:01:42,159 –> 00:01:44,240
من یکی برای علامت گذاری پیدا نکردم، بنابراین
52
00:01:44,240 –> 00:01:46,320
تصمیم گرفتم از آن
53
00:01:46,320 –> 00:01:48,399
برای حل مشکل کوچکم استفاده کنم، بنابراین ابتدا
54
00:01:48,399 –> 00:01:49,840
اجازه دهید یک
55
00:01:49,840 –> 00:01:53,040
مورد واقعاً ساده از استفاده از شاخ را بررسی
56
00:01:53,040 –> 00:01:54,560
کنیم قبل از اینکه به
57
00:01:54,560 –> 00:01:57,520
قسمت کامل چیزی که داشتم وارد شویم. بنابراین،
58
00:01:57,520 –> 00:01:59,520
جریان کار اصلی این است که شما یک گرامر ایجاد می
59
00:01:59,520 –> 00:02:01,840
کنید، یک فایل کوچک است که
60
00:02:01,840 –> 00:02:04,640
زبان یا محتوای شما را توصیف می کند و
61
00:02:04,640 –> 00:02:06,479
آن را از طریق antler اجرا می کنید، همانطور که می گویند این
62
00:02:06,479 –> 00:02:08,239
اساساً یک برنامه خط فرمان است.
63
00:02:08,239 –> 00:02:10,639
64
00:02:10,639 –> 00:02:12,319
چند کد
65
00:02:12,319 –> 00:02:15,120
در جاوا سی شارپ پایتون به هر زبانی که
66
00:02:15,120 –> 00:02:17,360
من این بار تصمیم گرفتم از سی شارپ استفاده کنم
67
00:02:17,360 –> 00:02:19,599
و شما تعدادی چیزهایی را دریافت می کنید
68
00:02:19,599 –> 00:02:21,040
که ما با آن کار خواهیم کرد lex
69
00:02:21,040 –> 00:02:22,959
یا تجزیه کننده و بازدید کننده است
70
00:02:22,959 –> 00:02:24,480
و خب اینها چه هستند. و با آنها چه کار میکنید،
71
00:02:24,480 –> 00:02:26,959
بنابراین
72
00:02:26,959 –> 00:02:28,640
در اولین مثال ما ورودی خود را بگیرید، ما فقط
73
00:02:28,640 –> 00:02:30,480
چهار به اضافه پنج
74
00:02:30,480 –> 00:02:32,000
را میگیریم و شما آن را از طریق lexar اجرا میکنید و
75
00:02:32,000 –> 00:02:34,400
توکنها و نشانههایی ایجاد میکند که میتوانید اساساً
76
00:02:34,400 –> 00:02:36,560
به عنوان تکههای کوچکی از کلمات محتوا فکر کنید.
77
00:02:36,560 –> 00:02:40,080
کلمات و نشانه های نقطه گذاری
78
00:02:40,080 –> 00:02:42,400
و سپس آن را به تجزیه کننده می فرستید
79
00:02:42,400 –> 00:02:44,879
و تجزیه کننده می فهمد که چگونه آن نشانه ها
80
00:02:44,879 –> 00:02:45,920
با هم تطبیق می یابند که
81
00:02:45,920 –> 00:02:49,200
چگونه سه نشانه مختلف ایجاد می کنند مثلاً
82
00:02:49,200 –> 00:02:52,560
یک اعلان متغیر یا
83
00:02:52,560 –> 00:02:55,680
یک هدر تابع و در
84
00:02:55,680 –> 00:02:57,519
تمام ورودی شما اجرا می شود و یک درخت برای
85
00:02:57,519 –> 00:02:59,599
شما ایجاد می کند. کاری که شما انجام می دهید این است که از
86
00:02:59,599 –> 00:03:01,360
درخت خود بازدید می کنید، اساساً به هر
87
00:03:01,360 –> 00:03:01,920
گره
88
00:03:01,920 –> 00:03:04,159
در درخت تجزیه خود نگاه می کنید و سپس
89
00:03:04,159 –> 00:03:05,040
هر چیزی را
90
00:03:05,040 –> 00:03:07,519
که واقعاً می خواستید بیرون می ریزید، بنابراین در مورد من در این
91
00:03:07,519 –> 00:03:09,280
مورد، ما به چهار به علاوه پنج
92
00:03:09,280 –> 00:03:11,280
و آنچه واقعاً می خواهیم نگاه می کنیم. نه است
93
00:03:11,280 –> 00:03:14,400
بنابراین به چه شکلی است، بنابراین در
94
00:03:14,400 –> 00:03:15,040
سمت چپ
95
00:03:15,040 –> 00:03:16,879
میتوانید دستور زبانی را ببینید که
96
00:03:16,879 –> 00:03:18,720
این مورد را مدیریت میکند و در سمت راست میتوانید
97
00:03:18,720 –> 00:03:20,800
درخت تجزیهای را که ایجاد شده است ببینید،
98
00:03:20,800 –> 00:03:22,319
بنابراین ما از
99
00:03:22,319 –> 00:03:23,920
پایین گرامر شروع
100
00:03:23,920 –> 00:03:25,840
میکنیم. از یک طرف
101
00:03:25,840 –> 00:03:28,239
درخت شما ساخته شده است، شما به آن فکر می کنید از بالا به پایین،
102
00:03:28,239 –> 00:03:29,599
اما شما همچنین به نوعی از
103
00:03:29,599 –> 00:03:30,480
پایین به بالا کار می کنید،
104
00:03:30,480 –> 00:03:32,000
بنابراین ابتدا
105
00:03:32,000 –> 00:03:34,080
فضای سفید را نادیده می گیریم.
106
00:03:34,080 –> 00:03:34,959
107
00:03:34,959 –> 00:03:37,519
پنج و آن چیزی که من می دانم این است که من
108
00:03:37,519 –> 00:03:38,799
اعداد صحیح دارم
109
00:03:38,799 –> 00:03:41,040
و سپس یک علامت مثبت در بین
110
00:03:41,040 –> 00:03:42,640
آنها دارم، بنابراین این نشانه هایی هستند که می خواهم
111
00:03:42,640 –> 00:03:43,280
ایجاد کنم
112
00:03:43,280 –> 00:03:45,280
و سپس می خواهم و همانطور که می دانیم
113
00:03:45,280 –> 00:03:46,879
آنها قوانین lexa هستند زیرا آنها با
114
00:03:46,879 –> 00:03:48,799
حروف بزرگ نوشته شده اند. a این یک قرارداد و
115
00:03:48,799 –> 00:03:49,519
شاخ شاخ است
116
00:03:49,519 –> 00:03:51,120
و سپس شروع به ساختن قوانین تجزیه کننده خود می کنیم
117
00:03:51,120 –> 00:03:52,879
، چیزهایی وجود دارد که
118
00:03:52,879 –> 00:03:53,680
درختی را
119
00:03:53,680 –> 00:03:55,519
می سازیم که در واقع درخت را از آنها می سازیم و بنابراین
120
00:03:55,519 –> 00:03:56,720
ما واقعاً فقط
121
00:03:56,720 –> 00:03:59,280
یک قانون تجزیه کننده در این مورد داریم و
122
00:03:59,280 –> 00:03:59,920
123
00:03:59,920 –> 00:04:02,319
این معادله است که یک عدد صحیح یک مثبت است. علامت
124
00:04:02,319 –> 00:04:03,760
و یک عدد صحیح
125
00:04:03,760 –> 00:04:06,080
um و کل دستور زبان خود را صدا می زنیم
126
00:04:06,080 –> 00:04:08,400
علاوه بر این، باید یک نام داشته باشد،
127
00:04:08,400 –> 00:04:10,159
باید یک مکان شروع داشته باشد و
128
00:04:10,159 –> 00:04:13,599
در این صورت معادله است،
129
00:04:13,599 –> 00:04:16,560
پس وقتی وارد
130
00:04:16,560 –> 00:04:19,440
استودیو
131
00:04:21,680 –> 00:04:25,120
ویژوالی شدیم، خوب به نظر می رسد، بنابراین در اینجا من
132
00:04:25,120 –> 00:04:27,840
یک برنامه کوچک C شارپ دارم و دستور زبان من اینجاست.
133
00:04:27,840 –> 00:04:29,199
دوباره
134
00:04:29,199 –> 00:04:30,800
و خیلی رنگارنگ نیست
135
00:04:30,800 –> 00:04:32,400
چون در کدهای vs نیست
136
00:04:32,400 –> 00:04:34,800
و بنابراین شما antler را روی آن اجرا می کنید، یک
137
00:04:34,800 –> 00:04:36,960
دسته فایل c شارپ ایجاد می کند، همچنین یک دسته فایل جاوا ایجاد می کند
138
00:04:36,960 –> 00:04:38,479
139
00:04:38,479 –> 00:04:40,639
و سپس شما فقط آنها را کامپایل می کنید و اکنون
140
00:04:40,639 –> 00:04:42,639
می توانید تست هارنس i را اجرا کنید
141
00:04:42,639 –> 00:04:44,639
. می تواند به شما نشان دهد که چگونه کار می کند، سپس شما
142
00:04:44,639 –> 00:04:45,759
به سادگی
143
00:04:45,759 –> 00:04:48,240
یک دستور کوچک را اجرا می کنید و به آن می گویید که
144
00:04:48,240 –> 00:04:50,160
من گرامر جمع
145
00:04:50,160 –> 00:04:53,120
و قانون معادله را می خواهم و در اینجا تعدادی
146
00:04:53,120 –> 00:04:54,880
ورودی چهار به علاوه پنج وجود دارد
147
00:04:54,880 –> 00:04:58,160
و سپس آن را وارد کرده
148
00:04:58,639 –> 00:05:00,880
و یک ثانیه صبر می کنید و این را
149
00:05:00,880 –> 00:05:01,759
در یک
150
00:05:01,759 –> 00:05:04,240
بازرس درخت um کوچولوی خوب و می توانید روی چیزها کلیک کنید
151
00:05:04,240 –> 00:05:05,199
152
00:05:05,199 –> 00:05:07,120
و همه چیز را ببینید و این
153
00:05:07,120 –> 00:05:09,840
واقعاً مفید است، من هنوز مجبور نیستم هیچ
154
00:05:09,840 –> 00:05:10,160
155
00:05:10,160 –> 00:05:12,560
کد واضحی بنویسم، من فقط دستور زبان خود را نوشتم
156
00:05:12,560 –> 00:05:14,479
و اکنون بلافاصله می توانم آن را آزمایش کنم و
157
00:05:14,479 –> 00:05:16,000
می توانم کار را شروع کنم آن
158
00:05:16,000 –> 00:05:17,919
را به درخت نگاه کنید
159
00:05:17,919 –> 00:05:19,520
آنچه فکر می کنم برای مشکل من کار می کند
160
00:05:19,520 –> 00:05:23,520
، بنابراین اکنون من عالی هستم، بنابراین اکنون
161
00:05:23,520 –> 00:05:26,720
یک برنامه سی شارپ ایجاد کردم تا اکنون بتوانم
162
00:05:26,720 –> 00:05:27,680
کاری انجام دهم،
163
00:05:27,680 –> 00:05:29,520
آن را تجزیه کردم و اکنون می خواهم
164
00:05:29,520 –> 00:05:31,440
شماره خود را دریافت کنم. کاری که من انجام میدهم این است
165
00:05:31,440 –> 00:05:32,720
که یک
166
00:05:32,720 –> 00:05:34,800
برنامه کنسول c-sharp با استفاده از
167
00:05:34,800 –> 00:05:36,240
فریمورک.net ایجاد کردم،
168
00:05:36,240 –> 00:05:39,120
من یک مرجع به antler با استفاده از nuget اضافه کردم
169
00:05:39,120 –> 00:05:40,960
که بسیار ساده بود
170
00:05:40,960 –> 00:05:43,680
و سپس تمام آن فایلهای c-sharp
171
00:05:43,680 –> 00:05:44,400
را
172
00:05:44,400 –> 00:05:46,560
مستقیماً از روی دیسک اضافه کردم و آنچه را که دارم
173
00:05:46,560 –> 00:05:47,440
174
00:05:47,440 –> 00:05:50,720
مانند چیزی است که گفتم الکسا، بنابراین اینها
175
00:05:50,720 –> 00:05:52,000
تولید می شوند، به این معنی که
176
00:05:52,000 –> 00:05:53,759
شما نمی خواهید آنها را تغییر دهید، زیرا
177
00:05:53,759 –> 00:05:55,120
هر بار که به عقب برگردید
178
00:05:55,120 –> 00:05:56,479
و دستور زبان خود را تغییر دهید، آنها
179
00:05:56,479 –> 00:05:58,720
بازسازی می شوند، بنابراین شما فقط می خواهید آنها را به حال خود رها کنید،
180
00:05:58,720 –> 00:06:00,400
181
00:06:00,400 –> 00:06:02,319
سپس تجزیه کننده ای است که در مورد آن صحبت کردیم.
182
00:06:02,319 –> 00:06:03,520
همچنین چیزی به نام
183
00:06:03,520 –> 00:06:05,600
شنونده وجود دارد که امروز قرار نیست در مورد آن صحبت کنیم
184
00:06:05,600 –> 00:06:07,840
و سپس یک بازدیدکننده وجود دارد
185
00:06:07,840 –> 00:06:10,400
که یک رابط است
186
00:06:10,400 –> 00:06:11,680
و شما می گویید آه با آن چاه چه کنم،
187
00:06:11,680 –> 00:06:12,800
آنها همچنین پیاده سازی آن رابط را به شما ارائه می دهند
188
00:06:12,800 –> 00:06:13,759
189
00:06:13,759 –> 00:06:15,840
اما دوباره این
190
00:06:15,840 –> 00:06:18,000
ایجاد می شود و شما نمی خواهید آن را لمس کنید
191
00:06:18,000 –> 00:06:20,800
پس چه y شما انجام می دهید این است که کلاسی ایجاد می کنید
192
00:06:20,800 –> 00:06:22,240
که
193
00:06:22,240 –> 00:06:24,720
از بازدید کننده پایه به ارث می برد و این کاری است که من در
194
00:06:24,720 –> 00:06:25,440
اینجا انجام داده ام
195
00:06:25,440 –> 00:06:27,759
و اینجاست که کار من پیش می رود بنابراین
196
00:06:27,759 –> 00:06:29,360
من آن را ماشین حساب نامیدم زیرا می
197
00:06:29,360 –> 00:06:30,800
خواهم دو عدد را اضافه
198
00:06:30,800 –> 00:06:32,639
کنم و نتیجه می گیرد. از بازدید کننده پایه
199
00:06:32,639 –> 00:06:34,080
و قرار است یک عدد صحیح برگرداند زیرا
200
00:06:34,080 –> 00:06:35,600
ما آن رشته ها را می گیریم
201
00:06:35,600 –> 00:06:37,039
و آنها را به اعداد صحیح تبدیل می کنیم و
202
00:06:37,039 –> 00:06:38,400
مجموع را برمی گردانیم
203
00:06:38,400 –> 00:06:41,120
و ما فقط یک قانون داریم تا
204
00:06:41,120 –> 00:06:42,240
یک روش ایجاد کند
205
00:06:42,240 –> 00:06:44,240
که می خواهیم بازدید کنیم. معادله همانطور
206
00:06:44,240 –> 00:06:45,759
که می خواهیم از هر گره بازدید کنیم
207
00:06:45,759 –> 00:06:47,600
و سپس آن را برمی گرداند دارای پارامتری
208
00:06:47,600 –> 00:06:49,599
به نام context است و زمینه از
209
00:06:49,599 –> 00:06:50,560
210
00:06:50,560 –> 00:06:52,080
همه چیزهای موجود در آن قانون می داند و آن
211
00:06:52,080 –> 00:06:53,680
قانون چند عدد صحیح
212
00:06:53,680 –> 00:06:56,240
و یک علامت مثبت داشت و بنابراین ما فقط آن را می گیریم.
213
00:06:56,240 –> 00:06:57,120
دو عدد صحیح در
214
00:06:57,120 –> 00:07:00,800
اصل آنها را به
215
00:07:00,800 –> 00:07:02,319
خوبی تبدیل می کنیم آنها دو رشته هستند که دارای
216
00:07:02,319 –> 00:07:04,720
ارقام هستند، آنها را به اعداد صحیح تبدیل می
217
00:07:04,720 –> 00:07:05,360
218
00:07:05,360 –> 00:07:09,120
کنیم و آنها را جمع می کنیم و آن مقدار را
219
00:07:09,120 –> 00:07:11,759
220
00:07:11,759 –> 00:07:13,039
برمی گردانیم، بنابراین حالا چگونه خروجی را دریافت کنیم چگونه آن عدد را برگردانیم
221
00:07:13,039 –> 00:07:15,919
.
222
00:07:15,919 –> 00:07:17,840
زمانی که شاخ میزنید، به نوعی برنامه اولیه است
223
00:07:17,840 –> 00:07:21,039
و اگر به آن گردش کار
224
00:07:21,039 –> 00:07:22,800
فکر کنید، دقیقاً با آن مطابقت دارد که من مقداری
225
00:07:22,800 –> 00:07:25,120
ورودی دارم تا آن را
226
00:07:25,120 –> 00:07:28,240
به یک جریان کاراکتر تبدیل کنم، باید
227
00:07:28,240 –> 00:07:30,400
lexer خود را ایجاد کنم، آن جریان را به آن می دهم
228
00:07:30,400 –> 00:07:32,720
و سپس می خواهم از آن توکن هایی ایجاد کنم.
229
00:07:32,720 –> 00:07:33,440
و بنابراین من
230
00:07:33,440 –> 00:07:35,280
یک جریان توکن ایجاد می کنم و به آن
231
00:07:35,280 –> 00:07:37,360
lexer می دهم، سپس آن
232
00:07:37,360 –> 00:07:39,520
نشانه ها را می گیرم و می توانم تجزیه کننده خود را ایجاد کنم
233
00:07:39,520 –> 00:07:41,120
زیرا به یاد داشته باشید که ما توکن ها را به تجزیه کننده تغذیه می کنیم
234
00:07:41,120 –> 00:07:42,400
235
00:07:42,400 –> 00:07:46,319
و سپس من اساساً از معادله
236
00:07:46,319 –> 00:07:48,400
در تجزیه کننده بازدید می کنم و آن درخت را می سازد بنابراین
237
00:07:48,400 –> 00:07:50,080
اکنون من. یک درخت
238
00:07:50,080 –> 00:07:52,639
دارم، پس آن درخت را به ماشین حساب خود می فرستم،
239
00:07:52,639 –> 00:07:54,000
بنابراین می آفرینم
240
00:07:54,000 –> 00:07:56,240
شما می دانید، فقط یک نمونه ایجاد
241
00:07:56,240 –> 00:07:58,639
می کنم، از آن بازدید می کنم، بنابراین از
242
00:07:58,639 –> 00:07:59,840
بالا شروع می شود، در معادله شروع می شود،
243
00:07:59,840 –> 00:08:02,400
این معادله آن است و سپس می دانید که
244
00:08:02,400 –> 00:08:03,680
ما آن عدد صحیح را برمی گردانیم.
245
00:08:03,680 –> 00:08:06,319
حالا عدد صحیح ما باید همانجا باشد
246
00:08:06,319 –> 00:08:08,080
و سپس میتوانیم یک خط درست انجام دهیم، پس
247
00:08:08,080 –> 00:08:08,479
بیایید آن را
248
00:08:08,479 –> 00:08:13,840
اجرا کنیم و ببینیم چه اتفاقی میافتد
249
00:08:14,800 –> 00:08:17,039
و در آنجا آن را 4 به اضافه 5 برابر
250
00:08:17,039 –> 00:08:19,520
9 میکنیم.
251
00:08:19,520 –> 00:08:21,759
252
00:08:21,759 –> 00:08:22,960
و خلاصه
253
00:08:22,960 –> 00:08:26,080
پس چه بود موضوع واقعی ما چه
254
00:08:26,080 –> 00:08:28,560
بود مشکل اصلی این بود که من مقدار زیادی علامت گذاری
255
00:08:28,560 –> 00:08:29,280
256
00:08:29,280 –> 00:08:32,479
داشتم و باید آن را به xml وارد کنم، بنابراین بیایید
257
00:08:32,479 –> 00:08:33,440
نگاهی به
258
00:08:33,440 –> 00:08:36,640
شکل ظاهری آن فایل ها بیندازیم، بنابراین
259
00:08:36,640 –> 00:08:38,839
من به اینجا می روم،
260
00:08:38,839 –> 00:08:40,640
261
00:08:40,640 –> 00:08:42,958
بنابراین این همان چیزی است که محتوای
262
00:08:42,958 –> 00:08:46,320
ما قبلاً شبیه به آن بود. فایلی
263
00:08:46,320 –> 00:08:49,279
که نام کلاس را داشت،
264
00:08:49,279 –> 00:08:50,160
265
00:08:50,160 –> 00:08:53,279
سینتکس آن شیء را
266
00:08:53,279 –> 00:08:55,279
داشت، علامتهای فوقالعادهای وجود داشت، گاهی اوقات
267
00:08:55,279 –> 00:08:56,640
268
00:08:56,640 –> 00:08:59,120
خلاصهای کوتاه وجود داشت، در اینجا
269
00:08:59,120 –> 00:09:01,040
مثالهایی با کد
270
00:09:01,040 –> 00:09:03,360
وجود داشت، فهرستی از روشها و سپس
271
00:09:03,360 –> 00:09:04,240
یک عنوان وجود داشت.
272
00:09:04,240 –> 00:09:06,080
برای هر روشی که می دانید، ما
273
00:09:06,080 –> 00:09:07,680
هر متد و
274
00:09:07,680 –> 00:09:10,160
پارامترهای آن و مقدار بازگشتی آن را لیست
275
00:09:10,160 –> 00:09:12,080
کردیم و فهرست کوچکی از مطالب
276
00:09:12,080 –> 00:09:12,959
277
00:09:12,959 –> 00:09:15,839
داشتیم، اما آنها واقعاً به یکدیگر متصل نبودند، بنابراین اگر
278
00:09:15,839 –> 00:09:18,399
پارامتری داشتم
279
00:09:18,399 –> 00:09:20,240
که بگوییم یک عدد صحیح بود، اینطور نیست.
280
00:09:20,240 –> 00:09:22,160
به کلاس عدد صحیح متصل شوید تا بتوانید
281
00:09:22,160 –> 00:09:22,720
282
00:09:22,720 –> 00:09:26,160
در مورد اعداد صحیح um یاد بگیرید
283
00:09:26,160 –> 00:09:28,880
و آنها با فضای نام مرتب نشده اند،
284
00:09:28,880 –> 00:09:30,399
285
00:09:30,399 –> 00:09:32,399
بنابراین مجبور شدیم
286
00:09:32,399 –> 00:09:33,680
آن را با هم جمع کنم
287
00:09:33,680 –> 00:09:35,839
و سپس این چیزی است که شبیه
288
00:09:35,839 –> 00:09:37,920
نقل قول زیر این است.
289
00:09:37,920 –> 00:09:40,320
نشانه نگارش واقعی که ما از آن استفاده
290
00:09:40,320 –> 00:09:40,959
کردیم، یک
291
00:09:40,959 –> 00:09:42,640
سرصفحه در بالا با برخی موارد منتشر
292
00:09:42,640 –> 00:09:44,640
شده برای جستجو وجود داشت و متعلق به چه کسی است و
293
00:09:44,640 –> 00:09:46,240
کار آن چه کسی است
294
00:09:46,240 –> 00:09:48,399
و سپس این محتوا در
295
00:09:48,399 –> 00:09:49,600
markdown است.
296
00:09:49,600 –> 00:09:50,720
297
00:09:50,720 –> 00:09:54,080
روش متنی برای ایجاد
298
00:09:54,080 –> 00:09:56,080
محتوا، بنابراین تعداد زیادی علائم پوند
299
00:09:56,080 –> 00:09:57,440
برای سرفصلها وجود دارد
300
00:09:57,440 –> 00:10:00,160
و سپس از این نوارها برای ایجاد
301
00:10:00,160 –> 00:10:01,120
جداول
302
00:10:01,120 –> 00:10:04,560
استفاده میکنید تا محتوا بسیار ساختار یافته باشد،
303
00:10:04,560 –> 00:10:06,320
زیرا قبلاً آن را
304
00:10:06,320 –> 00:10:08,640
از یک ابزار ایجاد کرده بودیم و بنابراین فکر کردم که این
305
00:10:08,640 –> 00:10:09,680
ممکن است در
306
00:10:09,680 –> 00:10:11,519
آنجا کار کند. یک چیز کوچک وجود دارد
307
00:10:11,519 –> 00:10:13,040
که باید آن را پیگیری میکردیم این
308
00:10:13,040 –> 00:10:17,440
است که کد در علامتگذاری با تورفتگی مشخص
309
00:10:17,440 –> 00:10:18,880
310
00:10:18,880 –> 00:10:22,000
میشود و بعداً در این فرآیند بازمیگردد،
311
00:10:22,000 –> 00:10:23,440
312
00:10:23,440 –> 00:10:25,839
بنابراین این همان چیزی است که ما با آن شروع کردیم و این
313
00:10:25,839 –> 00:10:27,440
محتوای محتوای جدیدی
314
00:10:27,440 –> 00:10:30,399
است که ما داریم و چون ابزار جدید
315
00:10:30,399 –> 00:10:33,200
در واقع روی dll ها منعکس می شود و
316
00:10:33,200 –> 00:10:36,480
تمام اطلاعات مربوط به وراثت را جمع آوری می
317
00:10:36,480 –> 00:10:38,800
کند و ما مطمئن می شویم که
318
00:10:38,800 –> 00:10:41,440
تمام ویژگی ها و روش های فعلی
319
00:10:41,440 –> 00:10:43,360
و همه چیزهایی که به یکدیگر پیوند دارند
320
00:10:43,360 –> 00:10:46,800
را داریم. بارگذاریهایی که میتوانم پیوند بدهم،
321
00:10:46,800 –> 00:10:49,519
میتوانم در چارچوب شبکه کلیک کنم،
322
00:10:49,519 –> 00:10:50,320
زیرا
323
00:10:50,320 –> 00:10:53,839
apis ما همگی مدیریت میشوند،
324
00:10:53,839 –> 00:10:56,800
بنابراین ما مقدار زیادی از آن را دریافت میکنیم و میدانید که
325
00:10:56,800 –> 00:10:58,640
ما دوباره فهرست کوچک
326
00:10:58,640 –> 00:11:00,079
مطالب خود را اینجا
327
00:11:00,079 –> 00:11:02,399
داریم، میتوانیم اینجا ببینیم که در کدام فضای نام
328
00:11:02,399 –> 00:11:04,800
هستیم. و سپس هر بار که dllهای ما تغییر
329
00:11:04,800 –> 00:11:06,240
میکنند، میتوانیم این را دوباره اجرا کنیم
330
00:11:06,240 –> 00:11:08,079
و تمام
331
00:11:08,079 –> 00:11:09,680
ویژگیها، روشها و مراحلی را که
332
00:11:09,680 –> 00:11:12,000
واقعاً میخواستیم به اینجا منتقل کنیم، بهروزرسانی میکند،
333
00:11:12,000 –> 00:11:13,920
بنابراین به خوبی نگاه کردیم که آن
334
00:11:13,920 –> 00:11:15,360
نویسنده چگونه است،
335
00:11:15,360 –> 00:11:17,839
بنابراین بیایید اینجا کمی بزرگتر شویم و پس
336
00:11:17,839 –> 00:11:18,880
این همه
337
00:11:18,880 –> 00:11:22,000
در um xml است و سپس
338
00:11:22,000 –> 00:11:24,560
اسناد در برخی از این
339
00:11:24,560 –> 00:11:25,920
تگ ها وجود دارد، اما این
340
00:11:25,920 –> 00:11:28,480
فرمت نمی شود و ما می توانیم آن را در اینجا پیدا کنیم،
341
00:11:28,480 –> 00:11:29,519
342
00:11:29,519 –> 00:11:32,880
بنابراین بیایید به دنبال کد ویژوال استودیو باشیم
343
00:11:32,880 –> 00:11:35,600
و این همان فایل است و بنابراین می توانید
344
00:11:35,600 –> 00:11:36,000
ببینید
345
00:11:36,000 –> 00:11:38,560
چیزهای زیادی وجود دارد،
346
00:11:38,560 –> 00:11:39,600
نام کلاس
347
00:11:39,600 –> 00:11:41,519
و همه امضاهای نوع مختلف
348
00:11:41,519 –> 00:11:43,680
برای زبان های مختلف مدیریت شده وجود دارد
349
00:11:43,680 –> 00:11:47,200
و سپس ما یک عنصر docs در اینجا
350
00:11:47,200 –> 00:11:49,519
داریم که در سطح کلاس است، بنابراین هر یک
351
00:11:49,519 –> 00:11:51,360
می تواند خلاصه ای داشته باشد که
352
00:11:51,360 –> 00:11:54,240
این یکی خالی بود که می تواند داشته باشد. اظهارات
353
00:11:54,240 –> 00:11:55,680
و تی جایی است که ما
354
00:11:55,680 –> 00:11:57,839
نه تنها نکات، بلکه بخشهای مثال را نیز قرار
355
00:11:57,839 –> 00:11:59,600
356
00:11:59,600 –> 00:12:01,440
میدهیم و بعد متوجه شدم کار دیگری که انجام
357
00:12:01,440 –> 00:12:03,120
دادیم این بود که به جای استفاده از
358
00:12:03,120 –> 00:12:05,600
تورفتگی برای علامتگذاری کد، در واقع از
359
00:12:05,600 –> 00:12:06,320
چیزی که آنها
360
00:12:06,320 –> 00:12:08,880
fencing مینامند که سه تیک پشتی هستند استفاده
361
00:12:08,880 –> 00:12:09,760
362
00:12:09,760 –> 00:12:14,720
کردیم و سپس xp را قرار دادیم. در اینجا و این باعث میشود تا
363
00:12:14,720 –> 00:12:16,720
کد بالای کد را برجسته کنیم که
364
00:12:16,720 –> 00:12:17,839
365
00:12:17,839 –> 00:12:21,519
مخصوص um x به علاوه بهعلاوه است، بنابراین این همان چیزی است که
366
00:12:21,519 –> 00:12:23,519
میخواستیم انجام دهیم،
367
00:12:23,519 –> 00:12:25,680
بنابراین ما به فرمت علامتگذاری نگاه کردیم،
368
00:12:25,680 –> 00:12:27,279
بنابراین من فقط
369
00:12:27,279 –> 00:12:29,200
آن را با شاخک تجزیه کردم، بنابراین بیایید
370
00:12:29,200 –> 00:12:30,560
دوباره نگاهی بیندازیم
371
00:12:30,560 –> 00:12:34,560
um در مقابل کد
372
00:12:34,560 –> 00:12:37,760
بله کد در اینجا دوباره
373
00:12:37,920 –> 00:12:40,320
کد s یک پسوند خوب برای
374
00:12:40,320 –> 00:12:42,240
برجسته سازی نحوی antler
375
00:12:42,240 –> 00:12:44,800
دارد، یک پسوند برای ویژوال استودیو نیز وجود دارد،
376
00:12:44,800 –> 00:12:48,639
اما من هنوز آن را نصب نکرده ام
377
00:12:48,639 –> 00:12:51,360
فقط به این دلیل که نصب نکرده ام، بنابراین در اینجا
378
00:12:51,360 –> 00:12:53,360
گرامر چیزی است که من در مورد گرامر شاخ دوست دارم.
379
00:12:53,360 –> 00:12:54,079
380
00:12:54,079 –> 00:12:57,680
به نظر میرسد محتوای
381
00:12:57,680 –> 00:13:00,959
شما را میخواهید تجزیه کنید، بنابراین
382
00:13:00,959 –> 00:13:02,560
این فایل ورودی است که ما کمی
383
00:13:02,560 –> 00:13:03,680
پیش پردازش
384
00:13:03,680 –> 00:13:05,200
انجام دادیم، زیرا ارزش کمی
385
00:13:05,200 –> 00:13:06,959
386
00:13:06,959 –> 00:13:07,920
387
00:13:07,920 –> 00:13:09,760
پیشپردازش را داشت. حذف آن بسیار آسان بود،
388
00:13:09,760 –> 00:13:11,440
ما فقط آن را حذف کردیم، ما
389
00:13:11,440 –> 00:13:12,079
به هیچ اطلاعاتی نیاز نداشتیم،
390
00:13:12,079 –> 00:13:14,480
391
00:13:14,480 –> 00:13:16,240
در واقع برای مقابله با آن
392
00:13:16,240 –> 00:13:18,560
علائم چند پوندی کمی مشکل بود،
393
00:13:18,560 –> 00:13:22,720
یک پوند عنوان یک پوند
394
00:13:22,720 –> 00:13:26,000
برای ام جدول و
395
00:13:26,000 –> 00:13:28,399
هر روش و سپس سه پوند، بنابراین در
396
00:13:28,399 –> 00:13:29,040
397
00:13:29,040 –> 00:13:30,800
واقع بسیار آسان بود که از طریق آن مرور کنید
398
00:13:30,800 –> 00:13:33,200
و کلماتی را در آن قرار دهید که
399
00:13:33,200 –> 00:13:34,000
پیدا
400
00:13:34,000 –> 00:13:37,279
کردن آنها واقعا آسان بود و تجزیه آنها واقعا آسان بود
401
00:13:37,279 –> 00:13:39,839
و معلوم شد که واقعاً
402
00:13:39,839 –> 00:13:40,720
403
00:13:40,720 –> 00:13:42,160
مقدار زیادی از چیزهای م