Тёмный

Let's Create a Compiler (Pt.1) 

Pixeled
Подписаться 21 тыс.
Просмотров 482 тыс.
50% 1

GitHub Repo: github.com/orosmatthew/hydrog...
References
- Linux Syscalls: chromium.googlesource.com/chr...
- Lexical Analysis: en.wikipedia.org/wiki/Lexical...

Наука

Опубликовано:

 

14 авг 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 841   
@kubilaykabatas298
@kubilaykabatas298 10 месяцев назад
I turned into a man that watches compiler videos for entertainment, props to you for making it so entertaining
@wizardDESTRU
@wizardDESTRU 9 месяцев назад
ahaha me too wtf
@Fernando-du5uj
@Fernando-du5uj 9 месяцев назад
same
@maelstrom57
@maelstrom57 9 месяцев назад
I was looking for something to watch while having dinner and YT recommended this. It'll have to do I guess.
@bArium5656
@bArium5656 9 месяцев назад
Prep less programming tutorials are always funny😂
@danielwang4901
@danielwang4901 9 месяцев назад
lol same
@aldairacosta4393
@aldairacosta4393 10 месяцев назад
This dude : "I can´t remember how to do this" *Start to create a fucking compiler*
@helker999
@helker999 2 месяца назад
😂😂😂
@oliviercomte7624
@oliviercomte7624 2 дня назад
He never read the documentation even for things he barely knows…😢
@wubsyman5796
@wubsyman5796 10 месяцев назад
"I'm not gonna use rust because I write memory safe code"... The memory safe code: "Does this have a destructor?... I'm gonna assume it does" (36:30)
@AbsoluteVR
@AbsoluteVR 10 месяцев назад
🤣
@budgetarms
@budgetarms 10 месяцев назад
It indeed does have it, an automatically created one. But yeah, .... memory safe code, ...
@Sh4dowOfD34th
@Sh4dowOfD34th 10 месяцев назад
"I am not gonna use rust because the community is terrible" is a better reason tbh
@AbsoluteVR
@AbsoluteVR 10 месяцев назад
@@Sh4dowOfD34th what's so wrong about community tho
@kvsbcsljv
@kvsbcsljv 10 месяцев назад
​@@AbsoluteVR I got verbally abused for saying C++ is better
@ivandimitrov4410
@ivandimitrov4410 10 месяцев назад
"there are two types of programmers - those who have written a compiler and those who haven't" - Terry "The greatest programmer that's ever lived" Davis
@ian562ADF52E
@ian562ADF52E 10 месяцев назад
I studied CS in the same halls as that man... nay, that God.
@walterdiaz2003
@walterdiaz2003 10 месяцев назад
Would creating a database engine from scratch and sql compliant be considered at that level too?
@doomsday7699
@doomsday7699 10 месяцев назад
No, you should also build the operating system and the hardware, transistor by transistor
@mek101whatif7
@mek101whatif7 10 месяцев назад
I'm trying😭
@TheInspctrcat
@TheInspctrcat 10 месяцев назад
​@@doomsday7699better use lamps
@psycoder-x
@psycoder-x 10 месяцев назад
15:53 There is nothing with RDI register, just (in Linux) the exit codes are specified in the range 0-255 (1 byte). The number 420 lost its most significant bytes and became 164.
@sethbuchanan6937
@sethbuchanan6937 10 месяцев назад
Here is a visualization of what you are saying | 00000000 | 0000000 | 00000001 | 10100100 | rdi register (420) | | | | 10100100 | return syscall (164) The return syscall only views the first 8 bits of the 64 bit rdi register
@psycoder-x
@psycoder-x 10 месяцев назад
@@sethbuchanan6937 Thank you!
@DDlol01
@DDlol01 10 месяцев назад
I was looking for this. not high enough^^ have my upvote.
@dtomvan
@dtomvan 10 месяцев назад
`man 3 exit` states: "The exit() function causes normal process termination and the least significant byte of status (i.e., status & 0xFF) is returned to the parent." Turns out `420 & 0xFF == 164`.
@TheManchineel
@TheManchineel 10 месяцев назад
This, the exit code is char-sized
@aldutran
@aldutran 10 месяцев назад
No way, Tsoding at home 😮
@jodu
@jodu 10 месяцев назад
That was the first thing I thought too
@simeondermaats
@simeondermaats 10 месяцев назад
it's the Iosevka that does it for me
@bosch5303
@bosch5303 10 месяцев назад
💀
@shiroe0781
@shiroe0781 10 месяцев назад
Tsoding without emacs
@djscratchcat474
@djscratchcat474 10 месяцев назад
American, windows using Tsoding
@woerty123
@woerty123 10 месяцев назад
I really appreciate that the sequences, where you are not quite sure are NOT cut out. It's really helpful, to see the thought process in a specific language / context, when you are not sure what to do. For example, which docs to turn to, or how to use intellisense etc. to find the information one needs to solve the problem. Seeing just some finished code explained is not nearly as helpful as this format in my opinion. Very watchable. Thank you!
@ThatNiceDutchGuy
@ThatNiceDutchGuy 10 месяцев назад
True! In fact, I think showing the thought process is the most useful part of these type of videos.
@SoreBrain
@SoreBrain 10 месяцев назад
I don't think I would have finished the video if it was streamlined and cut down
@Ikxi
@Ikxi 4 месяца назад
and hella fun
@johnnyserup5500
@johnnyserup5500 9 месяцев назад
I like that you are not afraid of showing your mistakes, because that is how you learn - keep creating more
@SamFisk
@SamFisk 9 месяцев назад
Mistakes and forgetting easy things. Something I tell newbies is that you don't need to memorise content but rather know that it exists and understand it when you see it again. E.g. what an entry point is, not the exact syntax.
@DudeBroVideos
@DudeBroVideos 10 месяцев назад
I can tell this channel will go somewhere with commitment, keep up the good work!
@pricesmith3417
@pricesmith3417 10 месяцев назад
decided to comment to say the same thing.
@doresearchstopwhining
@doresearchstopwhining 10 месяцев назад
totally agree. Maybe a little more editing but I think this guy can explain things well
@happysongs4kyrone
@happysongs4kyrone 10 месяцев назад
@@doresearchstopwhining "a little" is very important here, I kind of like the bare-bones explanation. there are definitely some parts that are unnecessary, and maybe some visualization..s? i don't know. but i hope this guy doesn't become into an over-stimulating mess.
@SanketLakhera
@SanketLakhera 10 месяцев назад
Subbed just watching this comment within 1 min into video.
@UmerHA
@UmerHA 10 месяцев назад
Yes! Please keep going! Looking forward to your next videos
@jahjahhhh
@jahjahhhh 10 месяцев назад
You make the learning so much more approachable for people with no previous understanding of compilers or asm. This style of teaching where you build a project live while explaining why you make that decision is so comprehensible. Thank you
@imagist.
@imagist. 10 месяцев назад
Humanizing programming
@Merilix2
@Merilix2 3 месяца назад
learning from this one is learning the wrong things.
@jahjahhhh
@jahjahhhh 3 месяца назад
@@Merilix2 elaborate maybe?
@theobgshow
@theobgshow 10 месяцев назад
I came across this and was compelled to sit all the way through it. I love your delivery, your voice and that you haven't edited anything, leaving in your mistakes. Thank you
@jordixboy
@jordixboy 10 месяцев назад
As a self taught software engineer that loves going deep into all the layers this is great introduction! Currently Im building VM's for Chip8 and Gameboy, and writing VMs REALLY helped me to understand how a computer works from a binary level. Feels really genuine that you dont know everything and use Google, really shows how the day to day of a software engineer is.
@coolimdad
@coolimdad 10 месяцев назад
Google is our best friend
@rubyciide5542
@rubyciide5542 10 месяцев назад
Damn bro i wish i was like u
@jeremymakenzie7443
@jeremymakenzie7443 10 месяцев назад
based
@ThaEzioAuditore
@ThaEzioAuditore 5 месяцев назад
do you mind sharing a few resources that have helped you in that direction ? I too want to write an emulator
@NorteXGame
@NorteXGame Месяц назад
It's insane how well you explained things in this video. Not only did you successfully explain basic Assembly, you also made me understand all the premises of compiling. I also like the human aspect of this video, of making mistakes and fixing them live. Thanks for this.
@Meknassih
@Meknassih 7 месяцев назад
One underated aspect of this kind of videos is that making mistakes is actually good to keep in the video instead of editing it out. Really makes it engaging and relatable as if we're doing it together. Great content !
@alexoverstreet
@alexoverstreet 10 месяцев назад
This video is so underrated. Very simple and easy to understand to get you started with the world of compiler development! Thanks 🎉🎉🎉
@katchins
@katchins 10 месяцев назад
You made the process of creating a compiler so straightforward and intuitive, I wish I had this video in school during my compiler class!
@Ozzymand
@Ozzymand 10 месяцев назад
This is unironically the exact type of video I wanted to see about this topic. A "Let's build X" from start to finish with really great commentary and explanation on the side. Keep it up man
@pricesmith3417
@pricesmith3417 10 месяцев назад
I whole-heartedly appreciate how you approach communication, have subscribed, and am looking forward to both learning from and seeing the growth of this channel. Stay grounded!
@mironbarykin2379
@mironbarykin2379 10 месяцев назад
Just stumbled upon this video thanks to RU-vid's recommendations, and I'm already amazed by the content. Haven't had a chance to watch it all the way through yet, but it's clear that a subscription is well-deserved. Can't wait to dive into the rest of the video!
@Ikxi
@Ikxi 4 месяца назад
"This is very safe code" "I'll figure it out when it crashes on me" love this guy
@urbrighturbright
@urbrighturbright 10 месяцев назад
man this is one of the best, most informative videos i've ever seen please continue the series. this one's beyond amazing
@starshipx1282
@starshipx1282 10 месяцев назад
super cool style with experimentation. Pls keep up. thank you very much : )
@OhhBabyATriple
@OhhBabyATriple 10 месяцев назад
Excited to see more of this series. Very good energy- keeping it informative and entertaining. Nice work!
@cosmicspd
@cosmicspd 10 месяцев назад
first video ive seen of yours and i love that you go into detail and try to explain stuff the viewer may not understand, it really helped me understand and enjoy the video more. keep it up!
@DevNugget
@DevNugget 10 месяцев назад
I love this! I started a project similar to this a while back but never got anywhere. Your ability to explain something is incredible! Can’t wait to see how this goes.
@kenan2386
@kenan2386 10 месяцев назад
same
@hammadbawara
@hammadbawara 9 месяцев назад
Wow, this video is incredible! The way you code is truly impressive. Your approach to understanding how things work reminds me of myself. I often worry about forgetting syntax, but you've reassured me that it's normal to forget syntax.
@Hellbending
@Hellbending 10 месяцев назад
No cap, how do I donate? Never even considered donating to a RU-vidr before but this, but this is the content that’s enjoyable. Not the average hour long video with cuts and edits everywhere, because every time the person has to look something up it’s all secretive and never seen. I got a lot of respect for someone that is probably a little bit nervous because they may be using a language they’re not be 110% comfortable or familiar with, but is well and truly comfortable enough to show what’s going on in their head as they walk through the project and show all the pivots and everything that’s happening. I fucking love it, I got a lot of respect for it and I want to support this kind of “free thought with a goal” style RU-vid videos. If you’ve got some way to accept donations, let me know 🙌💪
@pixeled-yt
@pixeled-yt 10 месяцев назад
I'm lucky enough to not need the money. I do this for fun. It's the thought that counts, thanks!
@spaghettiking653
@spaghettiking653 10 месяцев назад
@@pixeled-yt Legend, and you're humble too!
@NullPointerDereference
@NullPointerDereference 10 месяцев назад
You can't donate to smaller channels I think. Kinda sad since usually they are the ones that need it the most.
@Hellbending
@Hellbending 10 месяцев назад
@@NullPointerDereference I was happy to PayPal or Patreon lol
@Laz3rs
@Laz3rs 7 месяцев назад
your explanation style is amazing. non-monotone, slightly fast paced. its exactly like how i would explain something. love it
@ThEldeRS
@ThEldeRS 10 месяцев назад
"This is SO safe" has got to be my favorite quote from this video :D
@tanujjain57
@tanujjain57 10 месяцев назад
Liked your way of explaining things and showing everything hand on. Keep up the work waiting for new videos of this series!!
@fmailscammer
@fmailscammer 5 месяцев назад
I’ve been missing this kind of content for a while. This is great, keep it up!!
@LBCreateSpace
@LBCreateSpace 4 месяца назад
This was so helpful to watch. Ty for not cutting out the errors etc. Seeing how you thought through and resolved them really made this much more educational.
@impaglg
@impaglg 8 месяцев назад
This is really opening my eyes, thank you man! I hope that you will continue this series, all the best!
@Bobbias
@Bobbias 10 месяцев назад
Oh, it's nice to see someone else making long-form coding videos like this. There are far too few people making this sort of content. I really hope you continue.
@zzz-hk9zq
@zzz-hk9zq 10 месяцев назад
This is some top tier tutorial. You explain everything so well....
@indierusty
@indierusty 10 месяцев назад
Amazing. Never seen a devlog explained this good.
@blkgames1447
@blkgames1447 10 месяцев назад
I never thought that I would enjoy watching a 'creating compiler' video. Good content
@serg472
@serg472 2 месяца назад
This is a great way of teaching when you are showing your unscripted research, googling, what goes through your head, making and fixing mistakes, starting with a naïve approach, reinventing bicycles, etc. This teaches much more about the subject than just giving a final polished solution.
@abrudner
@abrudner 10 месяцев назад
I’m really looking forward to the next instance of this. Keep it up!
@imbadatcod7208
@imbadatcod7208 10 месяцев назад
Man you deserve way more subscribers, I am glad I got this recommended and found you!!
@joshman1019
@joshman1019 9 месяцев назад
Thank you so much for doing something actually interesting, as opposed to mind numbing web dev tutorials. I’m a mid level programmer by day and looking to do more low level stuff as a hobby. I really liked that you didn’t cut the video, and did some of your research on the fly. It was like hanging out with a buddy. Fun video!
@chrismuga
@chrismuga 10 месяцев назад
Wow. Yes, this is the kind of content I need in my feed. Good stuff!
@LordZedritsch
@LordZedritsch 10 месяцев назад
Georgeus video! I would love to follow along with this series
@caseyzduniak632
@caseyzduniak632 7 месяцев назад
Easily one of the best personalities that I've seen in CompSci, keep up the good work!
@AkiiiMatcha
@AkiiiMatcha Месяц назад
Thx for making this video, even tho you struggle a lot it just makes the video way more relatable and enjoyable imo. It just shows what programming REALLY is sometimes, that it's not this thing you do sometimes where you write perfect C++ or whatever in like a 20 minute video where it just makes you feel like you are not good enough because you can't do it like that.
@caio-jl6qw
@caio-jl6qw 10 месяцев назад
This is not only an educational video, but also an entertaining one
@darrenfinch1935
@darrenfinch1935 9 месяцев назад
Great video bro, I’m looking forward to seeing the next one!
@jetison333
@jetison333 10 месяцев назад
Awesome video! Really hope you continue with this series.
@kuro4841
@kuro4841 10 месяцев назад
please keep the one-take style videos like this, it really helps a lot like many other people already stated.
@smenigat
@smenigat 7 месяцев назад
Sir absolute solid teaching style. Really enjoyable to watch and follow along. Perfect pacing, just the right amount of wit and crisp information. This ist the first video I watched from you, and you already earned a new subscriber. Keep up the amazing work!
@vvshawty
@vvshawty 4 месяца назад
i love that this guy simply woke up and decided he wanted to teach us to create a compiler without even researching or scripting the videos, just pure skills and remembering the syntax on the go. thanks for the content!
@epicflails5471
@epicflails5471 7 месяцев назад
Your way of explaining things is really entertaining. I hope to see more content in the future!!
@serhiicho
@serhiicho 7 месяцев назад
I’ve never thought that watching a programming tutorial can be entertaining 👍 Thank you for that
@benoitb.3679
@benoitb.3679 7 месяцев назад
Dude, this was amazing. Thank you so much. To be honest, I had fallen asleep on the sofa and woke up at 4AM. I put this video on almost at random to go to sleep horizontally on an actual bed. I thought "I hope this dude isn't really annoying" but I ended up staying up to watch it. If you did this basically off the cuff, it's brilliant. If not, it's brilliant. I am *super* excited to watch the next parts. You're helping answer a question I've had for years and doing it wonderfully. Have a great weekend!
@TronNerd82
@TronNerd82 10 месяцев назад
Keep up the good work! You've earned yourself another subscriber.
@anianii
@anianii 2 месяца назад
"We can refactor it later" is so relatable
@neshkeev
@neshkeev 10 месяцев назад
Thank you, it's extremely informative. Keep on!
@abhis3kh
@abhis3kh 2 месяца назад
Didn't know anything about complier but always wanted to know - watching you explaining is really a awesome feeling - good luck 🎉
@ruinenlust_
@ruinenlust_ 10 месяцев назад
Absolutely love this style! Keep it up!
@akashpoudel
@akashpoudel 10 месяцев назад
You've made me understand and connect the dots about how compiling and linking works more than my Compiler Design Course at University which I studied for 6 months 😭
@devbites77
@devbites77 10 месяцев назад
Fascinating stuff. Can't wait for the next episodes.
@ya3rub101
@ya3rub101 9 месяцев назад
a new hidden gem just found !, keep up... your content is really unique and awesome !!
@shavar67
@shavar67 5 месяцев назад
This was very entertaining, now I want to try writing my own compiler for memes. Keep up the good work, I’m subbing for sure.
@tahahuraibb5833
@tahahuraibb5833 10 месяцев назад
Finally! A C++ Video that isn't a tutorial. Please continue this series, it will prove to be extremely useful.
@francislalhmuakliana766
@francislalhmuakliana766 10 месяцев назад
I actually sit through the whole video. Not gonna lie, I enjoy every single seconds of it and looking forward to the whole series...
@MaskedEngineer-kj5kt
@MaskedEngineer-kj5kt 2 месяца назад
Man this video is so fun and useful at the same time
@loueymnaja1696
@loueymnaja1696 7 месяцев назад
the content is enjoyable thank you man I checked your profile and I think that you have a bright future, keep it up ( I finished all straight to the end )
@joshjkk-wt6py
@joshjkk-wt6py 10 месяцев назад
I'm also writing my own compiler from scratch, I'll be looking forward to this series!
@Meitzi
@Meitzi 10 месяцев назад
I really like how you explain things. No need to make anything look more complicated than it is. For learning, it much more efficient to focus relevant parts, not nyances.
@samm3417
@samm3417 5 дней назад
the sense of humor is immaculate, great series
@lifeofsanjai
@lifeofsanjai 10 месяцев назад
thanks for making these fun && informative videos mate!
@minimumt3n204
@minimumt3n204 10 месяцев назад
Its like youtube knew I have a compiler class coming up soon. Thank you!
@krank3869
@krank3869 10 месяцев назад
what a great video honestly, love your way of teaching, didn't get me bored to death and learned a lot in the process
@Zenoandturtle
@Zenoandturtle 7 месяцев назад
It just came up on my feed and I could not resist. This is what I am talking about! This is the engine room of the ocean liner (metaphorically speaking) Great presentation.
@TheInspctrcat
@TheInspctrcat 10 месяцев назад
Fun and simple video explaining such complicated theme
@joaomachado9105
@joaomachado9105 10 месяцев назад
very nice viedo, not just trowing information at you but actually showing how one can find that information! thanks a lot
@savvy5817
@savvy5817 9 месяцев назад
the mistakes were golden real time problem solving, very educational and very intentional
@verbranntenetzhaut
@verbranntenetzhaut 10 месяцев назад
Wow amazing! Was actually great to follow along thanks for sharing
@markwebcraft
@markwebcraft 10 месяцев назад
This is exactly my programming style LOL. I love this, instant subscribe. Keep up the good videos.
@carbonn7280
@carbonn7280 8 месяцев назад
Hey Pixeled, thank you for this video about Compilers. At around 17:00 when dealing with your program exit code, you put 420 into rdi and get 164 in return. That is totally normal and It has nothing to do with registers, that is just how exit(2) works, the exit code is masked with 0xFF so the exit value cannot exceed 255 : " The value status & 0xFF is returned to the parent process as the process's exit status". Cheers ! o/
@tambow44
@tambow44 Месяц назад
That was super cool to see & very inspiring, my guy. Looking forward to the rest!! glhf
@haroldcruz8550
@haroldcruz8550 4 месяца назад
I wish you more success. You and Tsoding keeps me motivated. Thank you
@SamSarwat90
@SamSarwat90 8 месяцев назад
You have a good vibe dude. Subscribed! Keep it rolling
@steefvanwinkel
@steefvanwinkel 5 месяцев назад
I love this guy. So entertaining, even for someone with not much more than a couple of CS101s... Thanks! 🙏 🙏 🙏
@helker999
@helker999 3 месяца назад
Excelent content!!! I Love the format
@onsearchfocus
@onsearchfocus 10 месяцев назад
Love the whole unscripted and figuring errors on the fly. Like we all do! Well done.
@gabriellejacquiet9925
@gabriellejacquiet9925 10 месяцев назад
Really, I haven't started much on it but already I understand way more than ever before. I'm excited to learn more about it!
@jollyjerr
@jollyjerr 10 месяцев назад
Nice work! This is really great
@mustafazakiassagaf1757
@mustafazakiassagaf1757 10 месяцев назад
this have tsoding vibe and i love it. i hope your channel will grow big
@ESS982
@ESS982 8 месяцев назад
“Thats right. We have our first Seg fault”. I fucking died.
@rohitdhas4438
@rohitdhas4438 10 месяцев назад
really cool stuff! loved it
@jeffrey5602
@jeffrey5602 10 месяцев назад
stumbling upon this video like 5 mins before I need to leave for work. Now I am late. Subbed
@kid_kulafu_1727
@kid_kulafu_1727 9 месяцев назад
Bro i enjoyed watching. This is how i code when creating new project. You hella funny bro. I support you! Much love!
@ProJakob
@ProJakob 10 месяцев назад
Watching this at 1 AM, what could possibly go wrong. Hello from germany!
@joedartonthefenderbass
@joedartonthefenderbass 9 месяцев назад
I can't explain how much I love this video
@FishReporting
@FishReporting 10 месяцев назад
This was great! Keep at it!
@sad-cz4wb
@sad-cz4wb 9 месяцев назад
Love your work, keep going!
@tomryan7679
@tomryan7679 5 месяцев назад
Don’t know anything about C++, assembly or compilers but watched this from start to finish. Great video
@Furetto126
@Furetto126 10 месяцев назад
I love how not cut the video is, it's so useful for us to see even when you're not sure about something! Btw you're the most chad Windows user XD
@flyorfloat
@flyorfloat 10 месяцев назад
I've been thinking of making a big project like a basic game engine without any libraries but I'm not really out of my comfort zone yet lol. This video is great and I've seen your whole channel is pretty good too.
@pixeled-yt
@pixeled-yt 10 месяцев назад
I've actually done that too, if you look on my GitHub for "Voxelverse", it's a Minecraft clone written in c++ that uses vulkan directly without any game engine/framework. I might make a video on it in the future
Далее
Growing a Parse Tree (Compiler Pt.2)
1:05:48
Просмотров 72 тыс.
Projects Every Programmer Should Try
16:58
Просмотров 383 тыс.
Gale Now VS Then Edit🥵 #brawlstars #shorts
00:15
Просмотров 376 тыс.
I Made a Neural Network with just Redstone!
17:23
Просмотров 654 тыс.
No really, how does Linux run executables?
8:37
Просмотров 178 тыс.
So You Think You Know Git - FOSDEM 2024
47:00
Просмотров 1 млн
How principled coders outperform the competition
11:11
The purest coding style, where bugs are near impossible
10:25
I Designed My Own 16-bit CPU
15:46
Просмотров 1,9 млн
Will the battery emit smoke if it rotates rapidly?
0:11