The following will be discussed in this chapter: Non-recursive predictive parsing, error recovery in predictive parsing, bottom up parsing, reductions, handle pruning, shift-reduce parsing, conflicts during shift-reduce parsing, introduction to LR parsing. | LESSON 19 Overview of Previous Lesson(s) Over View 3 Debugging It is a methodical process of finding and reducing the number of bugs, or defects, in a computer program. Used in almost any new software or hardware development process, whether a commercial product or an enterprise or personal application program. A bug is not necessarily visible in the program. If it is apparent, programmer may not know where it and how to eliminate it. Many bugs are eliminated during the compile and link phases, but there are still quite a few left even after an executable module is produced. Over View 4 4 strategies that can help to make debugging as painless as possible: Don’t re-invent the wheel. Library functions. Develop and test your code incrementally. Code defensively Over View 5 Over View 6 Syntactic errors These are errors that result from statements that are not of the correct form. Semantic errors These are errors where the code is syntactically correct, but it does not do what you . | LESSON 19 Overview of Previous Lesson(s) Over View 3 Debugging It is a methodical process of finding and reducing the number of bugs, or defects, in a computer program. Used in almost any new software or hardware development process, whether a commercial product or an enterprise or personal application program. A bug is not necessarily visible in the program. If it is apparent, programmer may not know where it and how to eliminate it. Many bugs are eliminated during the compile and link phases, but there are still quite a few left even after an executable module is produced. Over View 4 4 strategies that can help to make debugging as painless as possible: Don’t re-invent the wheel. Library functions. Develop and test your code incrementally. Code defensively Over View 5 Over View 6 Syntactic errors These are errors that result from statements that are not of the correct form. Semantic errors These are errors where the code is syntactically correct, but it does not do what you intended. Over View 7 Debugger A program that controls the execution of program code in such a way that we can step through the source code one line at a time, or run to a particular point in the program. A breakpoint is a point in our program where the debugger automatically suspends execution when in debugging mode. A trace-point is a special kind of breakpoint that has a custom action associated with it. TODAY’S LESSON 8 Contents Start Debugging Inspecting Variable Values Changing Variable Values Adding Debugging Code Using Assertions CLR Programming Struct Types Class Types Defining Value Class Types ToString() Function in a Class 9 Start Debugging 10 Following are the ways of starting application in debug mode. Start Debugging 11 Start Debugging – f5: It simply executes a program up to the first breakpoint (if any) where execution will halt. When programmer examined all he/she needs to at a breakpoint, selecting the same menu item or toolbar button again will continue execution up