There are two types of Syntax directed translation schemes which are as follows −Synthesized TranslationIn this translation, values of variables on L.H.S of a production rule depend on the value of the variable on R.H.S of production rule.For Example, E → E(1) + E(2) {E. VAL = E(1). VAL + E(2). VAL}Here, E on L.H.S of production rule can be computed by the sum of values of E(1) and E(2) which are on R.H.S of a production rule, i.e., L.H.S variable is dependent on R.H.S variables.In synthesized translation, the value of the synthesized attribute at the node is evaluated ... Read More
In syntax directed translation, along with the grammar it can identify some informal notations and these notations are known as as semantic rules.After implementing the Semantic Analysis, the source program is modified to an intermediate form.There is some information that is required by the Intermediate code generation phase to convert the semantically checked parse tree into intermediate code. But this information or attributes of variables cannot be represented alone by Context- Free Grammar.So, some semantic actions have to be attached with Context-Free grammar which helps the intermediate code generation phase to generate intermediate code.So, Attaching attributes to the variables of ... Read More
SolutionComputation of FIRSTE → E + T|TSince FIRST (E) does not contain ε.∴ FIRST (E) = FIRST(E + T) = FIRST(E)As, E → T∴ FIRST (E) = {FIRST(T)} (1)T → T ∗ F|FAs FIRST (T) does not contain ε or T does not derive ε.∴ FIRST (T) = FIRST(T ∗ F) = {FIRST(T)}As, T → F (FIRST(T) = {FIRST(F)} (2)F → (E)|id∴ By Rule (3)of FIRSTFIRST (F) = {(, id} ... Read More
To find the missing numbers in a sequence in R data frame column, we can use setdiff function.For Example, if we have a data frame called df that contains a column say X and we want to check which values between 1 to 20 are missing in this column then we can use the below command −setdiff(1:20,df$X)Example 1Following snippet creates a sample data frame −x
To extract columns from an R data frame having at least one non-duplicate, we can use Filter function.For Example, if we have a data frame called df that contains some columns having duplicate values and columns that do not contains at least one non-duplicate then we can extract columns having at least one non-duplicate by using the below command −Filter(var,df)Example 1Following snippet creates a sample data frame −x1
To create bar plot for grouped data in base R, we can create the table for both the columns and then use beside argument of barplot function to create the bar plot. To differentiate between the bars, we need to set legend argument to TRUE as well. To understand how it can be done check out the below Example.ExampleFollowing snippet creates a sample data frame −G
If we want to check a condition and the Output based on that condition needs to be a matrix then we can use if else function in R.For Example, if we have a value say V = 5 and we want to get matrix M1 if V is equal to 5 and matrix M2 if V is not equal to 5 then we can use the below command −if (V == 5) M1 else M2ExampleFollowing snippet creates a sample matrices −M1
LR Parsing Tables are a two-dimensional array in which each entry represents an Action or goto entry. A programming language grammar having a large number of productions has a large number of states or items, i.e., I0, I1 … … In.So, due to more states, more Actions & goto entries will be filled, which requires a lot of memory. So, a two-dimensional array is not sufficient to store so many action entries, because each entry requires at least 8 bits to encode.So, we have to use more efficient encoding than a two-dimensional array for encoding, Action & goto field.For example, ... Read More
Problem Statement Consider the ambiguous grammar.E → E + EE → E * EE → (E)E → id(a) Construct LR (0) items for above grammar.(b) Construct SLR parsing table for grammar.(c) Parse the input string id + id * id. SolutionStep1− Construct Augmented Grammar(0) E′ → S(1) E → E + E(2) E → E ∗ E(3) E → (E)(4) E → idStep2− Find closure & goto functions to construct LR (0) items.Closure (E′ → ∙ E) =Applying goto on I9∵ goto cannot be applied on I9, ... Read More
To create normal probability plot in R with confidence interval bands, we can use qqPlot function of QTLRel package. We simply need to pass the vector name that contains normal distribution values inside qqPlot function or directly introduce the vector inside the function as shown in the below given examples.Example 1Use the following code to create normal probability plot −library("QTLRel") qqPlot(rnorm(10))OutputIf you execute the above given snippet, it generates the following Output −Example 2Add the following code to the above snippet to create normal probability plot −qqPlot(rnorm(500)) OutputIf you execute the above given snippet, it generates the following Output −Example ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP