Program analysis

Semantic analysis (compilers)

Semantic analysis or context sensitive analysis is a process in compiler construction, usually after parsing, to gather necessary semantic information from the source code. It usually includes type checking, or makes sure a variable is declared before use which is impossible to describe in the extended Backus–Naur form and thus not easily detected during parsing. (Wikipedia).

Video thumbnail

Compilation - Part Three: Syntax Analysis

This is part three of a series of videos about compilation. Part three is about syntax analysis. It explains how the syntax analyser, otherwise known as the parser, takes a token stream from the lexical analyser, and checks it to make sure that the rules of the source language have been

From playlist Compilation

Video thumbnail

Compilation - Part Two: Lexical Analysis

This is part two of a series of videos about compilation. Part two is about lexical analysis, also known as tokenization. It explains how the lexical analyser, otherwise known as the lexer, or the scanner, identifies the individual elements of a source program known as lexemes, which are

From playlist Compilation

Video thumbnail

Compilation – Why learn about compilers?

As you will see when you watch this series, compilation involves a diverse range of themes in the field of computer science including high and low level programming paradigms, the definition of context free grammars, the application of dynamic data structures such as stacks, linked lists,

From playlist Compilation

Video thumbnail

Overview of compiling a program

Compiling a program takes place over several stages. This video is an overview of the compilation process: scanner/lexer, parser, semantic analyzer, code generator, and optimizer. An introduction to token streams and abstract syntax trees.

From playlist Discrete Structures

Video thumbnail

Evaluate an expression with one variable ex2, 2x + 3 - 2; x=5

👉 Learn how to evaluate mathematics expressions. A mathematics expression is a finite combination of numbers and symbols formed following a set of operations or rules. To evaluate a mathematics expression means to obtain the solution to the expression given the value(s) of the variable(s)

From playlist Simplify Expressions Using Order of Operations

Video thumbnail

Evaluate an expression with two variables ex 7, ((3b)^2 + b) / c; b = 4; c = 8

👉 Learn how to evaluate mathematics expressions. A mathematics expression is a finite combination of numbers and symbols formed following a set of operations or rules. To evaluate a mathematics expression means to obtain the solution to the expression given the value(s) of the variable(s)

From playlist Simplify Expressions Using Order of Operations

Video thumbnail

4 - Kick-off afternoon : Xavier Leroy, Proof assistants in computer science research

J'ai créé cette vidéo à l'aide de l'application de montage de vidéos YouTube (http://www.youtube.com/editor).

From playlist T2-2014 : Semantics of proofs and certified mathematics

Video thumbnail

Type checking in C

How does the compiler know when the value of an expression can be assigned to a variable, and when it cannot? Type checking! This is a brief introduction to type-checking during the semantic analysis phase of the compiler.

From playlist C Programming

Video thumbnail

Compiler Design lecture 1-- Introduction and various phases of compiler

Click for free access to Educator's best classes: : https://www.unacademy.com/a/Best-Classes-of-all-time-by-Vishvadeep-Gothi-CS.html For regular updates follow : https://unacademy.com/community/Q3ZGJY/ To purchase please click : https://unacademy.onelink.me/081J/zv9co3u1

From playlist Compiler Design

Video thumbnail

RailsConf 2019 - Pre-evaluation in Ruby by Kevin Deisz

RailsConf 2019 - Pre-evaluation in Ruby by Kevin Deisz _______________________________________________________________________________________________ Cloud 66 - Pain Free Rails Deployments Cloud 66 for Rails acts like your in-house DevOps team to build, deploy and maintain your Rails ap

From playlist RailsConf 2019

Video thumbnail

27c3: Code deobfuscation by optimization (en)

Speaker: Branko Spasojevic Optimization algorithms present an effective way for removing most obfuscations that are used today. Much of the compiler theory can be applied in removing obfuscations and building fast and reliable deobfuscation systems. By understanding traditional optimizati

From playlist 27C3: We come in peace

Video thumbnail

RubyConf 2017: Compiling Ruby by Kevin Deisz

Compiling Ruby by Kevin Deisz Since Ruby 2.3 and the introduction of RubyVM::InstructionSequence::load_iseq, we've been able to programmatically load ruby bytecode. By divorcing the process of running YARV byte code from the process of compiling ruby code, we can take advantage of the str

From playlist RubyConf 2017

Video thumbnail

Discrete Structures: Graph Theory, part 3

In this session we'll look at how graphs--trees, in particular--are used by compilers to analyze and transform your source code.

From playlist Discrete Structures, Spring 2022

Video thumbnail

11.2.4 Compiler Frontend

MIT 6.004 Computation Structures, Spring 2017 Instructor: Chris Terman View the complete course: https://ocw.mit.edu/6-004S17 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP62WVs95MNq3dQBqY2vGOtQ2 11.2.4 Compiler Frontend License: Creative Commons BY-NC-SA More inform

From playlist MIT 6.004 Computation Structures, Spring 2017

Video thumbnail

How to evaluate an expression three terms

👉 Learn how to evaluate mathematics expressions. A mathematics expression is a finite combination of numbers and symbols formed following a set of operations or rules. To evaluate a mathematics expression means to obtain the solution to the expression given the value(s) of the variable(s)

From playlist Simplify Expressions Using Order of Operations

Video thumbnail

SOURCE Boston 2008: Automated Structural Malware Classification

Speaker: Ero Carrera With the advent of an economy relying on large bases of infected computers and collection of personal information, malware has become an essential tool for the "harvesters". Such needs and a ready availability of financial resources have propelled the development of f

From playlist SOURCE Boston 2008

Related pages

Context-sensitive language | Attribute grammar | Extended Backus–Naur form | Parsing | Type checking