 So the question is, do you want to repeat the question? The question is, how is the list going to be linear without being a one-to-one mapping considering it was brought up that it would not be one-to-one? Right. So, okay, so here's, so, let's think about our statement node list, right? So every statement node structure, it's going to have a specific node, I guess maybe extra drama squares, right? It's the statement node struct, right? And one of those fields is the next field, right? This has a pointer to the next statement node that's executed, right? So this should be a list that approximates, this would be a list that contains all the statements in your program, definitely, right? The problem comes up, well, not the problem, but it's not just fields, it's purely sequential programs, right? This, this, this, this, it will follow mostly one-to-one like that, this, this, this. The problem comes up, and when you have like an if, like if x is not equal to zero, right? Let's do this. So now, I'm going to simplify this. Now you're going to have these instructions, and then this if is going to have a branch that's going to go somewhere else and do something else. I only like a range when I know exactly what I need to put in. Something like this, right? So this, your list that you're creating, right, or this, it's not a list, it's a graph. We'll see in a second, right? The graph is going to represent the control flow of this program and where this program can go. So this node, this if statement node will represent, hey, I can do this. Or I can go this way. Now, when you have a while. Or something. So here, now it checks, right? So let's say this is the check. Then if it's true, it goes to the, you know, the body, right? That's something in the body. And then, when it does this, then it will, it has a link back to itself, right? And then it has this if statement. Essentially it has an else branch, which is like here and will continue the trick. So this is where it gets into a graph. Now you have loops in your graph, right? Okay. That makes sense. And then the trick is, right, inside here, any of these nodes could be if branches or could be while loops, right? So you have loops inside here and all that fun stuff. Because you have to have any. Okay. Maybe let's have project five questions. Since I'm recording. Yes. Yes. So do we have to, after we parts into this area? No. Well, go back. That would mean you'd need pointers back and forth, right? I would just hold a link to the first one. Okay. Like a head pointer, right? And then return the head if it was. Do you think it'd be useful to draw graphs like this for many of the different programs just to kind of get how it works? Yes. You should do it. I would do it in two ways. I would do it like, I would draw a graph like this for how that program looks from the input language. And then I would draw the data structures like. With the go-tos and stuff like that. Exactly. With the specific fields in here to know exactly what's going to happen and how your code should generate those data structures. Yeah. I think that'll help a lot. I mean that's in your video lecture, right? Now it is. I'm recording. Also with the greater than equal to, if that needs to be implemented, you can just do the not version of the less than. You can just switch the branches. Yes. That would be the other thing is you can switch the branches or if it's like is a less than or equal to b, you can switch it around and say it's b greater than a, right? So you can also switch the operators and use the different operator. So actually it's kind of cool. Just with these basic like primitives that we have, you can implement, right? Like logic, you can implement anything. And that's actually what compilers will do often is they'll, especially for like a while loop. Most loops are executed many times. So they will switch. They'll change the condition and the way they make the code. But they do it in a way that's faster. Yes. So by note, because they optimize for the CPU that they're actually executing it. It's going to step forward for 20. It's going to step forward for 20. Anything else? Part of five? I'm sure there'll be more stuff when you get into it. Yeah, once we actually start coding, we're going to get confused and ask questions. You mean you'll have insightful questions that are very deep and... I had a question that's not directly related to project five. It was just kind of a lecture stuff with, like you have the function has its name and that's what it's called by and whatever. But is there anything that calls it by the line number that it's on? Or is that kind of lost in... The question is always, does it matter to the programmer? When you call a function, do you need to know what line it's on? I mean, does it internally ever call it by the line? Yes, so internally, that's how you... There's a whole bunch of things that we didn't talk about. But yeah, they have to keep track of a lot of metadata about what lines are things defined on, right? So that they can give good error messages. That's the big thing, right? Like, I want to know if there's an error, because I tried to call foo online something or other. He said that last week. Also your IDE, your editor, when it's parsing it, right? Because it's parsing it so that when you hover over something, it tells you the type of that thing. And then you can also say go to definition. So it knows exactly what line number that thing lives on or what it's declared on. Why are we getting error exam grades? I feel like I remember you saying that when you asked some kind of this week. Yeah, the TA is grading right now, so... It'll have a fire under that. Hey, it's still not the end of the week. What does it matter? This week versus next week, exactly. No pressure. I want to know... Tell him to just get his done as quickly as possible. Any other questions? I wanted to get everybody's done. Probably not.