Compiler Design Instruction selection by tree-rewriting Instruction selection involves choosing target-language instructions for each IR statement. In this article we discuss how it can be done by a tree-rewriting process whereby tree patterns that correspond to machine instructions are used to tile a syntax tree.
Compiler Design Activation trees and records An activation tree is a tree structure that represents function calls made by a program during execution. When a function is called the a new activation record is pushed to the stack and popped from the stack when the function returns.
Compiler Design Dynamic programming for Code generation Dynamic programming not only applies to a broad class of register machines but its application results in the generation of optimal code that runs in linear time.
Compiler Design Attribute Dependence Graph and Evaluation in Semantic Analysis In this article we discuss attribute dependency graphs and attribute evaluation during semantic analysis phase in compiler design.
TensorFlow Max Pool and Avg Pool in TensorFlow In this article, we have explored Max Pool and Avg Pool in TensorFlow in depth with Python code using the MaxPool and AvgPool ops in TensorFlow.
data science R squared and Adjusted R squared In this article, we have explored the idea of R squared and Adjusted R squared which are frequently used in Regression Analysis to analyze data.
C++ Initialization of Multiset in C++ In this article, we have explored 6 different ways to initialize Multiset in C++ STL along with C++ code snippets for each approach.
Compiler Design Machine independent Optimizations Code written in high-level programming languages has a lot of overhead, in this article we discuss low-level techniques used to optimize this code for efficiency.
Compiler Design Backpatching During the code generation phase, the compiler has to make jumps, however, the values needed for these jumps may not be known in a single pass therefore it improvises by filling up values which are replaced when the real values are known, a process known as backpatching.
Compiler Design Types of compilers A compiler is a program that translates source code into machine code that can be executed by a computer. In this article we explore various types of compilers.
Compiler Design Pumping Lemma For Context Free Languages The pumping lemma is used as a way to prove if a language is context-free or not. In this article we have discussed this lemma for CFLs.
Compiler Design Basics of YACC and Bison In this article we discuss YACC and Bison, both tools used to generate parsers for context free languages that are LALR(1).
System Design Eager Loading and Over-Eager Loading Eager Loading and Over-eager loading are methods of loading resources to web pages.
Machine Learning (ML) A/B Testing In this article, we will learn more about the famous A/B testing which is an important topic in Data Science to find best performing experiments.
Software Engineering Your Career as a Computer Research Scientist In a world that is rapidly adopting new technologies, it’s no surprise that computer and information scientists are in high demand, with their employment rates projected to grow by 22% from 2020 to 2030.
Linux Search for a file in Linux (Find command) In this article, we have explored the approach to Search for a file in Linux (Find command).
System Design Master-slave & Master-master replication in Databases In this article, we will explore the basics of data replication techniques such as Master-slave and Master-master in databases.
Theory of Computation Chomsky Normal Form in Theory of Computation It is much easier to work with context-free grammars if the given Context Free Grammar is in a normal form. In this article we discuss the Chomsky Normal Form.
Theory of Computation Regular Expression in Theory of Computation Regular expressions are a means to describe languages, in this article, we proved that every regular expression describes a regular language and that every DFA can be converted to a regular expression that describes a language.
computational geometry Section formula In this article, we have explored the Section formula in Computational Geometry which deals with straight lines getting divided in a given ratio. This is an important concept.
computational geometry Introduction to Trigonometry In this article, we have explored the basic concepts of Trigonometry. These concepts are important for the Mathematics required for Computational Geometry.
computational geometry Direction of point from line segment In this article, we have explored algorithm to find the Direction of point from line segment.
System Design Cost Estimate of hosting YouTube In this article, we have done the calculations for Cost Estimate of hosting YouTube in two ways: One by using Hosting services (like AWS) and second is by buying our own hardware.
Algorithms Morris Inorder Traversal in Binary Tree In this article, you will learn about a method to traverse a tree in O(1) space complexity that is without using recursion or stack. We will use the concept of Single Threaded Binary Tree.
List of Mathematical Algorithms N-th root of a number In this article, we have explained three different algorithms to find the N-th root of a number.