1.4 Compilation and Interpretation The process of compilation and interpretation are almost similar because they are aimed at changing the source code to a form that a machine can understand. The only difference between the two is that while compilation involves a the generation of a machine code only once Michael Gallup Womens Jersey , interpretation entails the analysis and interpretation of the same code every time it encounters the same program statements. The process of compilation entails the source code being passed through the scanner for the purpose of lexical analysis; it is passed via the parser that analyzes its syntax. The code is then analyzed for semantic errors, and an intermediate machine code has generation. The intermediate code from the basis of the target code generation and in some machines the target code can have improvement in light of the specific machine in which the compilation is taking place. The lexical analysis takes place using the scanner whereas syntax analysis takes place using the parser. Lexical analysis is aimed at identifying each work and then assigning meaning to it. On the other hand Byron Jones Womens Jersey , the aim of syntactic analysis is to verify if the code was written following the syntax of the programming language being used. The generation of a good code cannot take place in just a single pass, and that is the reason the source code ahs to have translation taking place to produce an intermediate code. Wit is after which the checking of semantic errors takes place for the purpose of deriving making the code more meaningful. The target code is then generated based on the information of the syntax tree. The code improvement is optional Maliek Collins Womens Jersey , but it is equally essential to the purpose of efficient computation of the same result. Chapter 2 2.2 Scanning 51 /]Jaylon Smith Womens Jersey[/url] , thereby reducing the number of items that the parser needs to inspect. Scanners can be built in a way that looks less the same as a finite automaton. The generation of finite automaton takes pace using the patterns or expressions within the input of specific character set. A finite automaton has the function of accepting or rejecting the input provided based on the pattern defined. The scanner codes can have generation using the table-driven format or the automatic format by the finite automaton. Table-driven scanning entails the representation of an automaton in the form of a data structure whereby there are keywords in the table where the scanner can look up. The generated scanner code can recognize lexical errors x[/url]