Placeholder Image

Subtitles section Play video

  • Okay, So what is it we're gonna talk about?

  • We're going to talk about parsing.

  • It's essentially the process of recognizing the shape off a particular input string.

  • The process of parsing calms about.

  • It's not only a domain, it's something off from computer science that has come from linguistics and can be generally used assets.

  • Senator to recognition or understanding some concept and computer science is more to do with and specifically in programming language.

  • It's more to do with a specific component inside of what we call a compiler.

  • A compiler is essentially a translator that translates one language, the language of the programmer into a systems language.

  • So a compiler needs to be able to handle inputs on have output.

  • The compiler translates thes candles.

  • Thies, too.

  • So you have a name.

  • Put that ISS a string, any sort of tax data, usually the first part in the compiler.

  • The basic stuff there compiler should do is essentially parts the input on Dhere.

  • The string, let's say, for example, needs to be able to be analyzed on this has several steps in order to handle the string in the best way for the system, you have lexical analysis off the string.

  • So say you have a given multiplication 50 times 10 equals 500 on This is a strength.

  • First, what is gonna have to do is lexical analysis.

  • I hear there's a particular reference Thio how How Humans can actually, um, understand information.

  • A computational interpretation called.

  • We understand it would be too, like analyze each term.

  • So, like you have at the sentence my dad iss coming home on dhe.

  • You classify those into burbs at Burt's now NHs, et cetera.

  • What the parts where does essentially is due?

  • Lexical analysis, which essentially means creating tokens.

  • Tokens are each of the elements on the string.

  • So, like 50 the multiplication sign 10 equals 500.

  • The result on it needs to be able to do this because end of the day the string goes through us.

  • In tactical analysis, the tokens create some sort of data representation on this natter representation.

  • In order to be able to be translated, it needs to be put through syntactical announces.

  • This is the part is really interesting because in tactical analysis means in humans as well as in computers that you understand the string, understand the sentence.

  • Let's put it that way.

  • Why is this important?

  • Because semantics, meaning that actual outcome what it means to understand the sentence comes out of syntax.

  • On dhe.

  • Syntactical analysis is basically done through a reference to context free or any kind of grammar really context re grammars, usually meaning that if someone speaks to you in French and you don't understand French or don't help that module in your head, you won't be able to parse it so that that our representation will will have some sort of representation will be like a sentence.

  • You can understand that through this and that being a sentence.

  • But you won't be able to extract any kind of semantic content from the from the syntax off strength, you can say they are letters.

  • You can say they are words.

  • You can say it is the sentence.

  • You can say it must have some content.

  • Obviously, with humans, there's some ambiguity, as they have like like they can say, this is a door, this is a door and you have the human pointing towards a door so embedded staying in French pence, you conduce, um abducted inference there and like make sense, however, doesn't it doesn't mean that your understanding, the semantic content on DDE this is so apart off compilers at the end of the day, the compiler does is semantic analysis after it's checked that the string conforms to the grammar inside of the system.

  • And that's what Parson is.

  • The thing about compilers and partners, et cetera, and the difference between a guest computer humans is that while we can certainly take an computational angle and interpret our humans as essentially computers on dhe, there some similarities between how humans understand these things and how computers do.

  • And there is a crucial sense in which humans can't tolerate ambiguity can tolerate pragmatics control or eight different kinds of situations where informational content can be inferred.

  • But in the case of computers, I'm big Witty becomes a matter of insecurity on DDE, that insecurity in not properly parsing inputs because someone, someone didn't the sign a specific part, sir, To understand the grievance string based on the glamour that creates a lot off vectors of attack, for that's called them Blackheart actors.

  • Because there there are many ways in which are parsing error on a fundamental error in recognition.

  • Off the string actually can create some pretty big errors.

  • Buffer over buffer overflows on exploit programming The more the more systematic way of thinking about this is, essentially, you can create buffer overflows with this, but you can also create what is called a weird machine on.

  • I think we can go into that as well.

  • But it's that it's a fundamental mistake in not thinking through parters enough, as in specific, an important part of compilers and in a specific way in which computers handle that ambiguity that may prove to be insecure.

  • No, I've got the token so I can later value in at the Valley, emerged air into it and store it back and have the turkey.

  • And now I've got the token again.

Okay, So what is it we're gonna talk about?

Subtitles and vocabulary

Operation of videos Adjust the video here to display the subtitles

B1 string compiler analysis sentence lexical essentially

Parsing - Computerphile

  • 5 0
    林宜悉 posted on 2020/03/27
Video vocabulary