Computer Programming Articles

Page 12 of 18

What is Ambiguous Grammar?

Ginni
Ginni
Updated on 26-Oct-2021 22K+ Views

A Grammar that makes more than one Leftmost Derivation (or Rightmost Derivation) for the similar sentence is called Ambiguous Grammar.Example − Verify whether the following Grammar is Ambiguous or Not.E → E+E|E $\ast$ E|idSolutionFor string id + id * id, there exist two parse trees.E ⇒lm $\underline{E}$+E ⇒ id+ $\underline{E}$⇒ id+$\underline{E}$ $\ast$ E⇒ id+id $\ast$ $\underline{E}$⇒ id+id $\ast$ idE ⇒lm $\underline{E}$ $\ast$ E⇒ $\underline{E}$+E $\ast$ E⇒ id+ $\underline{E}$ $\ast$ E⇒ id+id $\ast$ $\underline{E}$⇒ id+id $\ast$ idSo, the same string is generated using two different leftmost derivations. Each is having a different parse tree.∴ Two different parse trees exist for string id + id ...

Read More

What are Derivations?

Ginni
Ginni
Updated on 26-Oct-2021 5K+ Views

Derivations mean replacing a given string’s non-terminal by the right-hand side of the production rule. The sequence of applications of rules that makes the completed string of terminals from the starting symbol is known as derivation.It can derive terminal strings, beginning with the start symbol, by repeatedly replacing a variable with some production. The language of CFG is a set of terminal symbols we can derive so. This language is called context Free Language.Derivations are denoted by ⇒.For example, consider a Grammar.G=({S}, {a, b}, P, S), where, P contains following productions −P={S→aSa |bSb | ∈}In the above, S may be ...

Read More

What is the implementation of a Lexical Analyzer?

Ginni
Ginni
Updated on 26-Oct-2021 13K+ Views

Lexical Analysis is the first step of the compiler which reads the source code one character at a time and transforms it into an array of tokens. The token is a meaningful collection of characters in a program. These tokens can be keywords including do, if, while etc. and identifiers including x, num, count, etc. and operator symbols including >, >=, +, etc., and punctuation symbols including parenthesis or commas. The output of the lexical analyzer phase passes to the next phase called syntax analyzer or parser.The syntax analyser or parser is also known as parsing phase. It takes tokens ...

Read More

What is minimizing of DFA in compiler design?

Ginni
Ginni
Updated on 26-Oct-2021 4K+ Views

Minimizing means reducing the number of states in DFA. We have to detect those states of DFA whose presence or absence in DFA does not affect language accepted by DFA. These states can be eliminated from DFA.Algorithm: Minimization of DFAInput − DFA D1 with a set of states Q with a set of final states F.Output − DFA D2 which accepts the same language as D1 and having a minimum number of states as possible.MethodMake a partition 'π' of a set of states with two subsets −Final state 'F'Non-Final States 'Q-F'∴ π={F, Q−F}To apply the following procedure to make πnew ...

Read More

Can we convert a non-deterministic finite automata into a deterministic finite Automata?

Ginni
Ginni
Updated on 26-Oct-2021 1K+ Views

Yes, we can convert a NFA into DFA. For every NFA there exists an equivalent DFA. The equivalence is defined in terms of languages acceptance. Since NFA is nothing but a finite automata in which zero, one or more transitions on an input symbols are permitted. It can always construct finite automata which will simulate all moves of DFA on a particular input symbol in parallel, then get a finite automata in which there will be exactly one transition on every input symbol. Here, corresponding to a NFA there exist a DFA. To construct DFA equivalent to NFA, it should ...

Read More

What is Design of Lexical Analysis in Compiler Design?

Ginni
Ginni
Updated on 23-Oct-2021 16K+ Views

Lexical Analysis can be designed using Transition Diagrams.Finite Automata (Transition Diagram) − A Directed Graph or flowchart used to recognize token.The transition Diagram has two parts −States − It is represented by circles.Edges − States are connected by Edges Arrows.Example − Draw Transition Diagram for "if" keyword.To recognize Token ("if"), Lexical Analysis has to read also the next character after "f". Depending upon the next character, it will judge whether the "if" keyword or something else is.So, Blank space after "if" determines that "If" is a keyword."*" on Final State 3 means Retract, i.e., control will again come to previous ...

Read More

What is the role of Compiler Construction Tools?

Ginni
Ginni
Updated on 23-Oct-2021 11K+ Views

A compiler is a computer program that converts source code written in a computer language (the source language) into another computer language (the target language, providing having a binary form referred to as object code). The best reason for inadequate to convert source code is to create an executable code.The compiler is generally used for programs that translate source code from a high-level programming language to a lower-level language (e.g., assembly language or machine code). A program that translates from a low-level language to a higher level one is a decompiler.A program that translates between high-level languages is generally known ...

Read More

What is Compiler Bootstrapping?

Ginni
Ginni
Updated on 23-Oct-2021 14K+ Views

It is an approach for making a self-compiling compiler that is a compiler written in the source programming language that it determine to compile. A bootstrap compiler can compile the compiler and thus you can use this compiled compiler to compile everything else and the future versions of itself.Uses of BootstrappingThere are various uses of bootstrapping which are as follows −It can allow new programming languages and compilers to be developed starting from actual ones.It allows new features to be combined with a programming language and its compiler.It also allows new optimizations to be added to compilers.It allows languages and ...

Read More

What is the difference between Macro-Processors and Pre-Processors?

Ginni
Ginni
Updated on 23-Oct-2021 3K+ Views

Macro-ProcessorsMany assembly languages support a “macro” facility whereby a macro statement will translate into a sequence of assembly language statements and possibly other macro statements before being translated into a machine program. Therefore, a macro facility is a text replacement capability.It can illustrate the utility of macros, consider a situation in which a machine does not have a single machine or assembly language statement that adds the contents of one memory address to another as hypothetical assembly instruction ADD X, Y. Instead, suppose the machine has an instruction LOAD, which moves a datum from memory to a register, an instruction ...

Read More

What is error handling in compiler design?

Ginni
Ginni
Updated on 23-Oct-2021 6K+ Views

Detection and reporting of errors in the source program is the main function of the compiler. An error can occur at any phase of compilation. A good compiler must determine the line number of the program exactly, where the errors have occurred. Various errors that can occur at a different level of compilation are as follows −The first of these are lexical (scanner) errors − Some of the most common types here consist of illegal or unrecognized characters, mainly, caused by typing errors. A common way for this to happen is for the programmer to type a character that is ...

Read More
Showing 111–120 of 177 articles
« Prev 1 10 11 12 13 14 18 Next »
Advertisements