Regular expressions as finite automata

  Рет қаралды 27,010

Kay Lack

Kay Lack

Күн бұрын

Пікірлер
@supermage8026
@supermage8026 2 ай бұрын
I just wanted to express how lucky we are to have someone like you doing this! It's rare to find such good explanations of computer science and mathematical concepts these days.
@aescling
@aescling 20 күн бұрын
years ago Russ Cox wrote a series of blog posts on regular expressions that this video series is obviously following closely, in particular the first post in the series, “Regular Expression Matching Can Be Simple and Fast”
@tau9632
@tau9632 Ай бұрын
Wow what an incredible educational resource! Thank you so much!
@Pablo360able
@Pablo360able Ай бұрын
Great video! Now I feel like I finally understand that it's "clay knee".
@justinbrady2900
@justinbrady2900 2 ай бұрын
This took a whole semester to grok back in 2000. Concise explanation.
@VictorMantovani
@VictorMantovani 2 ай бұрын
tks youtube algorithm for recommending this amazing channel
@esra_erimez
@esra_erimez 2 ай бұрын
5:40 what follows is one of the most brillant insights and explanations in computer science. You are most impressive.
@maxmustermann5590
@maxmustermann5590 2 ай бұрын
Man I just dived into the rabbit whole of büchli automata a couple of days ago and then you drop this masterpiece. Thank you!!
@mehrdadkhorasani6009
@mehrdadkhorasani6009 2 ай бұрын
This channel is truly one of the best of our time, deserving of recognition and appreciation.
@randomsearches369
@randomsearches369 2 ай бұрын
We love you, Kay!
@LESAORAS
@LESAORAS 15 күн бұрын
this was a great refresher for the like 5 courses about languages and automatons and their uses i've attended while doing my compsci masters. good video
@chriskindler10
@chriskindler10 2 ай бұрын
this channel has by far become my favourite with regards to programming :)
@rafaelfreire3792
@rafaelfreire3792 2 ай бұрын
What a pleasant surprise! Thank you so much for these videos
@Dan-km8zy
@Dan-km8zy 2 ай бұрын
Love your presentation and video editing style. Thanks for everything
@Paul_ABC
@Paul_ABC 2 ай бұрын
Content quality is amazing. You're spoiling us
@jimwiley9275
@jimwiley9275 2 ай бұрын
Really enjoyed this one... Please never stop making these!
@404willum
@404willum 2 ай бұрын
Less than 3 minutes in and this is already a banger, thanks for the hard work !
@davidebiondani3062
@davidebiondani3062 2 ай бұрын
Maybe the best channel on KZbin, amazing
@esra_erimez
@esra_erimez 2 ай бұрын
Agreed!
@Vukleidon
@Vukleidon 2 ай бұрын
Had me worried that you gave up on the project. Honestly I have to say over the past few weeks, this channel has become one of my favorites. I really hope you will keep on doing the great work!!!
@moormoor4281
@moormoor4281 2 ай бұрын
Im listening
@vk8a8
@vk8a8 2 ай бұрын
ok thanks for letting us know
@rudranathmistry6957
@rudranathmistry6957 Ай бұрын
😂
@moormoor4281
@moormoor4281 2 ай бұрын
Thanking you most kindly from English England
@connorkapooh2002
@connorkapooh2002 2 ай бұрын
What gets you excited, Moor Moor?
@esra_erimez
@esra_erimez 2 ай бұрын
Fun fact: Regular expressions were invented by Stephen Kleene. They were later popularized by Ken Thompson when he wrote the "ed" editor for Unix. Edit: I wrote this before I saw you had it in your video, once again you continue to impress.
@3ombieautopilot
@3ombieautopilot 2 ай бұрын
Thank you for making these. Such a rare gem.
@ElaineParra
@ElaineParra Ай бұрын
Hey Kay I am happy we have you as reference and mentor in this journey learning programming and diving in such fundamentals in CS. What in couple of months was really challenging with discipline, effort, motivation and love for the things you like to do at the end we overcome any obstacle! Love for the 0de5
@barcellos-pedro
@barcellos-pedro 2 ай бұрын
Wow, you are amazing! Thanks for making this video!
@jaketrzcinski8141
@jaketrzcinski8141 Ай бұрын
Another banger, Queen! Thanks for putting this together so eloquently!
@amichelis
@amichelis 2 ай бұрын
This video encapsulates so well part of what I'm trying to make right now... I'm in awe! Can't wait for the next one! (context: I'm in the process of creating a lexer-parser duo, tailored for educational purposes. It'll take the user through a step-by-step visual journey of how lexing and parsing work, enabling educators to better explain the inner workings of a compiler... Still in very early stages, only parsing is implemented currently... Wish me luck :') )
@ComputerBread
@ComputerBread 2 ай бұрын
Sounds amazing, good luck :)
@user-cg8ez7dz9l
@user-cg8ez7dz9l Ай бұрын
Your videos are actually excellent! This has made me a big fan
@GabrielAnguitaVeas
@GabrielAnguitaVeas 24 күн бұрын
Hola! Infinitamente agradecido, eres una artista
@BigLongRandomNumberNameM-kf9vy
@BigLongRandomNumberNameM-kf9vy 14 күн бұрын
I wrote a grammar as a deterministic finite state machine in C. Each state is a function which takes a character and returns a pointer to the next function. On the one hand, I love the simplicity of not needing special data types. I love that, if you wanted to "wrap" it, you just write functions that call functions and return functions. I love that you can test each state is correct in isolation. But I hated that it turned my programming task into a data entry task 😅
@Shdnfncidjen
@Shdnfncidjen 2 ай бұрын
Cheers and thanks for sharing! Loving your videos!
@supercompooper
@supercompooper 2 ай бұрын
I remember this in my first year university courses. We had to write code that would convert the NDFA to a DFA 😊 takes me back
@Googleguy-1
@Googleguy-1 2 ай бұрын
new video yay, your videos are amazing!!!
@y9tw0t
@y9tw0t 2 ай бұрын
Another banger. Love your way of going through shit! Already eagerly anticipating your next vid -whatever it may be about.
@Caracuan12
@Caracuan12 2 ай бұрын
Excellent video, thanks for the detailed explanation.
@ethanweller3013
@ethanweller3013 2 ай бұрын
This series is wonderful. It would be nice to have the playlist for it start with the intro and go down from there, would be much easier to watch that way.
@justinbrady2900
@justinbrady2900 2 ай бұрын
These are the data structures we use for fast pattern matching on firewalls when scanning for malware and intrustions too, with some optimizations. At some point of growing the memory backing them got to hundreds of MB, scouts honor. We got yelled at.
@lterego
@lterego 2 ай бұрын
A lot and very good content in such a short clip. Just a nitpick: at 19:46 "any_char" creeps in instead of "single_char"... some tests work just because the string length are the same as for correct strings (and what should be incorrect strings).
@offYears
@offYears 24 күн бұрын
thanks for pointing this out, i was confused as to why any_char was accepting an argument there
@br3nto
@br3nto 2 ай бұрын
Great video! I wish they had taught automata like this at uni
@flippert0
@flippert0 Ай бұрын
Wasn't aware about the "Clean" vs "Clay-Knee" controversy. Seemingly (or according to his son Ken Kleene), Stephen C. Kleene invented this peculiar pronunciation of his name all by his own. One remark about 'automata', though. It's a plural for 'automaton'. So it's 'several automata' but 'one automaton'.
@cruzg3dev
@cruzg3dev 2 ай бұрын
Oh my!!! This is so gooood! Thanks!!!
@joe_hoeller_chicago
@joe_hoeller_chicago 2 ай бұрын
What a great video-thank you!!!❤
@Sami_K99
@Sami_K99 2 ай бұрын
Heyyy, long time no see, thanks for the vid ✨
@klirmio21
@klirmio21 2 ай бұрын
Noam Chomsky, a linguist and still got influence in Computer Science world. Insane!
@emir5146
@emir5146 2 ай бұрын
Omg so thanks because that is what i need.
@programmer1356
@programmer1356 2 ай бұрын
As usual, great stuff. Klaynee always gets me too - waaaay back we only had books and had to make up pronunciation (Runge ouch).
@alphmega
@alphmega 28 күн бұрын
This was worth a like for the Dijkstra reference alone.
@isaacalves6846
@isaacalves6846 2 ай бұрын
Hey, I'm studying finite automata in college right now!
@TWinKIeAssasN
@TWinKIeAssasN 2 ай бұрын
I took compilers and automata theory last semester and it was hell 😭 that class took over my life for that whole semester
@bt64u30
@bt64u30 2 ай бұрын
+1
@fudencio
@fudencio 2 ай бұрын
amazing video.
@JinKee
@JinKee 2 ай бұрын
I remember learning lex and yacc back in my compiler design course. I was so proud of barely scraping by on a pass, the only person who got a HD did it by failing three subjects and his girlfriend left him.
@thebirdhasbeencharged
@thebirdhasbeencharged 2 ай бұрын
The videos are getting cleaner and cleaner
@deryilz
@deryilz Ай бұрын
great video!
@br3nto
@br3nto 2 ай бұрын
Totally pronounced RegEx, Reg as is in Reginald because it rolls off the tongue better! Or even ReJex. It’s got good mouth feel and ear feel.
@Zaniahiononzenbei
@Zaniahiononzenbei 2 ай бұрын
I thoroughly hope you dig into the irregular expressions. :( they make me sad. They are nice features to have on occasion, but I think its beauty is someahat like C's beauty. By pushing some useful features out of scope we end up with a tool that is more obviously the right or wrong tool at a given time. C did this with the preprocessor, calling conventions, dynamic dependencies, and symantics for threading. They're all externally defined, and they're all hard problems that need to be solved. There's a lot in regex libraries that feels like its a cool tool, but it feels weird that its there.
@DeepVoiceSatish
@DeepVoiceSatish 2 ай бұрын
Thanks for providing
@LeonMerk123
@LeonMerk123 2 ай бұрын
Amazing video
@AlberTesla1024
@AlberTesla1024 2 ай бұрын
What a coincidence, i learnt FSM and state pattern. Thanks btw.
@martinsanchez-hw4fi
@martinsanchez-hw4fi 2 ай бұрын
It would be nice to have a video on the lexic analysiss a compiler does
@alexibnz
@alexibnz Ай бұрын
to quote people on other social networks: am I on KZbin Premium? Absolutely amazing video
@iamblue8272
@iamblue8272 2 ай бұрын
This remember me a code wars challenge : "Regular Expression - Check if divisible by 0b111 (7)" where i had to convert a DFA into a regex. Spent hour trying on paper and never finished this kata
@WhizPill
@WhizPill Ай бұрын
Interesting channel
@volbla
@volbla Ай бұрын
9:03 This needs a plus after the parenthesis. As it is it will only match exactly two "a"s.
@Brice23
@Brice23 2 ай бұрын
Takes me back to 2018, my first semester in computer science..
@yan-amar
@yan-amar Ай бұрын
2:08 I didn't know automata were invented and useful outside of computer science. I looked it up and it seems quite interesting.
@BooVoidCat
@BooVoidCat Күн бұрын
21:54 Question: Is there a reason why this is not done by just merging the final state of the left graph with the initial state of the right graph? It seems to me that any state which has only one transition and said transition is an epsilon transition could simply be merged with the succeeding state. Is this correct, or is there a case that I'm missing where that extra transition is necessary or useful?
@MalikMehsi
@MalikMehsi 2 ай бұрын
Wish i would've had videos like these when i took my theoretical computer science class... Shit was brutal
@SnuffPuppyLexy
@SnuffPuppyLexy 2 ай бұрын
Thank you so much
@raelwert2344
@raelwert2344 2 ай бұрын
Love your channel! Let me know if you are still looking for a copy of regular expressions and state graphs!
@joel.9543
@joel.9543 Ай бұрын
Nice video! I have some technical questions: What do you use to make animations? What video editor do you use?
@zadymew7885
@zadymew7885 5 күн бұрын
One question. How does the construction deal with us applying the kleene star twice to the NFA?. I found myself implementing this on Haskell and when i tried to plug a parser into it, the string "(a*)*" fried my pc
@marouaniAymen
@marouaniAymen 20 күн бұрын
Thanks for the excellent video, but one think I did not understand is how to go from a literal regular expression (I mean the string text itself for example (a*b+)+) I create the automata, seems that we have circular problem here because we need to parse the text itself, which means an automaton, any idea please ? perhaps this can be the subject of a future video, thanks.
@zadymew7885
@zadymew7885 5 күн бұрын
They already uploaded a video dedicated to parsing!
@dr.mounir.mallek
@dr.mounir.mallek Ай бұрын
I do have the paper by McNaughon and Yamada in case you still need it.
@Justhere369
@Justhere369 Ай бұрын
Hey Kay, nice video , please what is the name of the software you are using ? ..... Is it JFlap
@bananaear23
@bananaear23 2 ай бұрын
Ur back wohooo
@bananaear23
@bananaear23 2 ай бұрын
also how do I like twice
@SimGunther
@SimGunther 2 ай бұрын
Simply put, regex needs to be transformed into an NFA before that turns into a DFA that can simplified and transformed into a table driven automaton for those nice tight loops in code 😊
@JayDee-b5u
@JayDee-b5u 2 ай бұрын
I think I have an implementation that doesn't require shunting yard nor dfa/nfa. A simple pratt parser and binary (and unary) tree is all that is needed. :)
@flippert0
@flippert0 Ай бұрын
Of course many people know how to use regexes (every programmer _must_ know them), but few peope actually can build a regex engine. I knew about DFAs and NFAs but your lecture enables me to actually build one of my own (for fun and giggles). Thanks!
@unbearablepun8608
@unbearablepun8608 2 ай бұрын
This would’ve been so helpful a semester ago 😭
@imlemonth
@imlemonth 2 ай бұрын
This makes me wanna do it myself in python 😅
@demerzel3333
@demerzel3333 2 ай бұрын
great content, this has way less views than it deserves
@zweitekonto9654
@zweitekonto9654 Ай бұрын
the code highlighting lacks a bit of contrast which makes it difficult to read.
@mo938
@mo938 2 ай бұрын
You’re so smart! Makes me feel dumb lol
@jarno4054
@jarno4054 2 ай бұрын
Half of my semester in 30 minutes 🙏
@josephlagrange9531
@josephlagrange9531 2 ай бұрын
Hi, Kay!
@ДаниилИмани
@ДаниилИмани Ай бұрын
Please, rearrange the ODE5 megalist in chronological order
@neoeno4242
@neoeno4242 Ай бұрын
Have now done - apologies, I thought that was a viewer-setting but I now realise it is mine!
@ForsakenDAemon
@ForsakenDAemon Ай бұрын
Not sure whether you’ve managed to get hold of it otherwise, but just flicked you a copy of McNaughton and Yamada (1960) for educational purposes!
@brulsmurf
@brulsmurf 2 ай бұрын
@6:00 I felt nothing but the void within.
@ngideo
@ngideo 2 ай бұрын
Languages! Now we're cookin'!
@eterr9000
@eterr9000 2 ай бұрын
I recently learned about LISP Scheme and I am noticing something that looks like Scheme expression 👀
@Satyam1010-N
@Satyam1010-N 2 ай бұрын
Happy deepawali light a candle lamps (100+)at main house , may the light remove all kind of darknes self doubt bad habits bad thoughts , your life lights up , happy deepawali Kay
@ahmedAltariqi
@ahmedAltariqi 2 ай бұрын
What tool you used to make the slides?
@kevinbatdorf
@kevinbatdorf 2 ай бұрын
Where is chapter 1?
@peterbann4759
@peterbann4759 2 ай бұрын
I think they are included in Python (I'm learning Python)
@eduardrieraraurell3328
@eduardrieraraurell3328 2 ай бұрын
the regular expression for even number of a's should be (h*ah*ah*)* isn't it?
@zenkira_
@zenkira_ Ай бұрын
holy graph
@whtiequillBj
@whtiequillBj Ай бұрын
your 0DE5 playlist is backwards
@VioletJewel1729
@VioletJewel1729 Ай бұрын
girllll it's re jex >:((((( ~
@Truth-p7c
@Truth-p7c 2 ай бұрын
Wow
@Johnmoe_
@Johnmoe_ 2 ай бұрын
I see regex I click 😊
@starlonga
@starlonga 2 ай бұрын
I pronounced it as «Clean» (Klenee)
@chrisleon27
@chrisleon27 2 ай бұрын
Cellular automata
@ponirvea
@ponirvea 2 ай бұрын
great video! i think you forgot a cut around 15:32
Grammars, parsing, and recursive descent
30:31
Kay Lack
Рет қаралды 21 М.
How regexes got catastrophic
32:29
Kay Lack
Рет қаралды 53 М.
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Crafting executables from raw bytes
26:43
Kay Lack
Рет қаралды 35 М.
What P vs NP is actually about
17:58
Polylog
Рет қаралды 143 М.
Why Are Threads Needed On Single Core Processors
16:07
Core Dumped
Рет қаралды 203 М.
Creating Your Own Programming Language - Computerphile
21:15
Computerphile
Рет қаралды 205 М.
Programming with Math | The Lambda Calculus
21:48
Eyesomorphic
Рет қаралды 250 М.
How the stack got stacked
41:04
Kay Lack
Рет қаралды 21 М.
sqlite-vec: Hybrid Search Event (Oct 2nd 2024)
50:06
Alex Garcia
Рет қаралды 126
Python laid waste to my C++!
17:18
Sheafification of G
Рет қаралды 174 М.
Why Can't We Make Simple Software? - Peter van Hardenberg
41:34
Handmade Cities
Рет қаралды 174 М.
СИНИЙ ИНЕЙ УЖЕ ВЫШЕЛ!❄️
01:01
DO$HIK
Рет қаралды 3,3 МЛН