 No, no, you just have to draw the button moves up and down so you just have to yeah it's like you're drawing on a paper but don't look there look here because goes to BC B goes to be or epsilon and C goes to see so in this case you want to have because because of the epsilon here you want to be able to have both the B or the C as your first it's in case your B in in case you have a string which uses that epsilon rule you want to be able to go straight to C because then in your a it might go to epsilon and then see little C pretend this is little exactly yes so the idea is the first set wants to capture all possible combinations right so it's saying like if you just added the first set of B right the first set of B is B and epsilon yeah I got that right so but you don't want to have that epsilon because you don't know about the rest of that right-hand side rule and then the idea is okay I want to move on I want to move on because there is some case I know there's an epsilon in the first of B so there's some possible combination of rules where big B is gonna produce nothing which means that the first the first thing is not going to be something from B at all you can kind of I'm getting it if you pick up so on then the first terminal has to be not B but something else right so the fact that the other way to think about it right is the fact that A goes to big B big C and the fact that big B can go to epsilon means there's kind of an implicit rule that A can also go to C A A can go straight to C exactly because because of epsilon because epsilon just shows the space between them it's like a union it's not a union but but it's like a cat concatenation of the strength also right yeah it's going to yeah it's going to be so you have if A if A goes to B C you have two possibilities you can have A I think the result can be like A goes to B C the result can be B comma C or it can be just C the result can be little B comma C the set of B comma C or just the set of you mean the first of A the first of A could be B B little C or it could be just little C right and you put those two together right you can union those two and it's just B and C but the key is it doesn't have epsilon in it that's the key right because you didn't go all the way through those symbols to get to C had epsilon in it then you would include epsilon because all of the terminals of A yeah you know there's some possible combination of rules where both B and C you're going to go to epsilon's so the first of A can be like this B and C is that how you did it or you did a set the set it's always sets okay B and C or it can be just C right no no there's no or right there's one thing for the first set of A what if it's if it goes this route it's B and C if it goes this route the first set is all possible routes all possible combinations okay so then it can be first it could be this or this right so then how do I do two items in one location what are you talking about well then it would be like B or C B or epsilon comma C first of A no no so first sets are only can only be terminals and epsilon right you can't have an or in there okay yeah I know I know or is basically implied by the fact that there are multiple entries in this set I can't I'm struggling with this concept with this this guy right here here I understand it has to be an ending terminal so so I gotta pick one either this one or this one right well what if I pick this guy wait no you do you have to automatically pick this guy right you don't have to but the idea here right is that so the first set of B so what's the first set of B so why don't you you can come on no no that could be like it could be B we're epsilon great and the the first set of C so now how do you use those rules how do you calculate the first set of A because it was there oh but you have to apply the rules right that's the key right you have to apply these rules so applying rule three right when you apply rule three you take the first of so you're trying to apply it to here right capital B is the leftmost symbol so rule three applies right you take the first set of B which is the second thing D and epsilon I got that take out epsilon and you add it that result to the first set of A oh so here you apply rule three and after after you apply rule three you get first of B equals just B no no not the first of B right we're not calculating the first of B we're calculating the first of A first of A here yeah so I have first of A and then I have this and then if I do rule three on this I get rid of that is that what you're saying you calculated this by hand right but that's wrong so you have to start empty so yeah so applying rule three adds B to this set so we can put B in there but we don't add epsilon yet right so then we look at rule four and we say hey okay we've looked at the leftmost symbol of this rule right so rule four says can I go on and add the next symbol the first of big C so how do I know if I can do that just look at what's the condition for rule four yeah if A is B zero beyond the two three B K and epsilon is the first of B zero and epsilon is in the set of B one and epsilon is the set of B two and epsilon is the set of B I then first of the I plus one minus the epsilon is first of A I don't understand the rule I can't read it but I don't understand it I think that what it's saying is first of A first of I don't I don't understand the rule I don't know it's it's I don't know it's trying to kill something but why don't you I have to sleep on it yeah spend some time looking at it and then on Friday you can come back because we're gonna we'll do this a lot we have a lot of examples of this first yeah I just don't want to start on the wrong foot oh it's okay but everybody I think knocked out early yeah I totally understand okay put it back I'll I'll uh well I don't you give me an example on our work right can we do that okay I'll take a picture of that and then I'll work on that and then I guess you have the answers here okay okay so it sounds like super pretentious and whatever but why are we doing Trump's normal form like why don't we even talk about that because it's bottom up and that's just more difficult to code or different we have to just focus on certain things okay I mean really like I don't know because it just seemed really concise and nice and everything they taught it to us well in 355 so interesting um then I don't know I mean the short answer is I don't really know because I didn't design this curriculum from scratch so I'm using what's already been yeah happened before um you know it could be we're trying to be able to diverse things so you look for different types um for me I do really like this because I like like uh actually most parsers so you can use like parser generators like lex and flex and bison or whatever to to generate like parsers but oftentimes in real like compilers or interpreters they're written by hand and they're written with these predictive recursive parsers yeah so and all this stuff you can do this with any grammar like you don't have to convert it which is kind of a thing it's like I like the first sets and the follow sets because they're interesting because they tell you something like very simply you can calculate something about an infinite number of strings right by only applying these rules uh they're complicated but you gotta dig through that and once you've developed that intuition it's like oh yeah these have to be the rules right there's no other possible rules yeah um and then when you actually code this into a real program to do this it becomes even better and you're understanding this skyrockets your programming skills develop because you're actually doing something complicated and interesting with code um we take the concepts from here yeah the applications are going to be different and the syntaxes are always going to look different and different yeah we can also do like vagus normal form programmers uh which is another thing and actually that's a little bit more I don't know because it's one of those things that is used in a lot of the rfcs to define the protocols what's rfc uh request for comment so it's like in the standard definition of what an email address looks like it depicts a grammar it's not exactly in the format we're using they have a little bit of extra things but nothing that makes it unknowable actually one of the examples we're going to go at is doing email addresses so interesting okay thank you any other questions questions material questions you