Construction Tools
Transcript: Construction Tools Test and debug target program Debugger Debugger A debugger or debugging tool is a computer program that is used to test and debug target program. Debuggers may use instruction-set simulators, rather than running a program directly on the processor to achieve a higher level of control over its execution. This allows debuggers to stop or halt the program according to specific conditions. However, use of simulators decreases execution speed. Manages the versions on a single CLI Version Manager Version Manager Version manager manages all the versions on a single CLI (Command Line Interface) tool. Command Line Interface allows the users to interact with computer with the help of commands written by user to perform a specific task. It provides the version management tooling and allows you to choose which plugins you would like to install. • It manages all the Languages. • Simple plugin support system to manage all Languages. Understand the code according to the timing Profiler Profiler Profiling works by changing how every function in your program is compiled so that when it is called, it will stash away some information about where it was called from. From this, the profiler can figure out what function called it, and can count how many times it was called. Tells you where your program spent its time. Tells you which functions called which other functions while it was executing. Tools that create a parser Compiler-compiler & Compiler Generator Compiler-compiler & Compiler Generator Compiler-compilers and Compiler generators are programming tools that create a parser from some form of formal description languages. The most common type of compiler-compiler is more precisely called a parser generator. It reads a language description file called a grammar, typically written in Backus–naur form (BNF) or Extended backus–naur form (EBNF) that defines the syntax of a programming language; and its output is source code of a parser Automate programming of tasks Translator-writing System Translator-writing System The Translator Writing System (TWS) is a programming language designed to automate programming of tasks involving parsing. TWS can be used advantageously in all text processing problems, from simple investigations of the local characteristics of textual information to writing compilers for general or specialized languages. In the statistical practice it will be suitable for formatting-reformatting tasks and text editing purpose. Although TWS is a general programming tool, its use for parsing a language whose grammar is originally in nondeterministic form requires much more effort than if the grammar were in deterministic form. Produces a sequence of tokens Scanner Generator Scanner Generator A scanner is a program that takes a sequence of characters (the source file of the program) and produces a sequence of tokens that will be used to feed the compiler's parser. It generates lexical analyzers from the input that consists of regular expression description based on tokens of a language. It generates a finite automation to recognize the regular expression. Input: Regular expression description of the tokens of a language Output: Lexical analyzers. Diagram Application which generates a parser Parser Generator Parser Generator A parser generator is an application which generates a parser. Sometimes also called a compiler-compiler. The usual input is a formal specification of the grammar the parser has to recognize, plus code implementing the actions the parser has to take when recognizing the various parts of its input. The result is an implementation of the parser in some language, often C. It produces syntax analyzers (parsers) from the input that is based on a grammatical description of programming language or on a context-free grammar. Input: Grammatical description of a programming language. Output: Syntax analyzers. Diagram Generates intermediate code Syntax Directed Translation Engines Syntax Directed Translation Engines It generates intermediate code with three address formats from the input that consists of a parse tree. These engines have routines to traverse the parse tree and then produces the intermediate code. In this, each node of the parse tree is associated with one or more translations. Input: Parse tree. Output: Intermediate code. Generates Machine Language Automatic Code Generators Automatic Code Generators The final phase of our compiler model is automatic code generator. Automatic code generator takes intermediate code and converts them into Machine Language. Each operation of the intermediate language is translated using a collection of rules and then is taken as an input by the code generator. Template matching process is used. An intermediate language statement is replaced by its equivalent machine language statement using templates. Input: Intermediate language. Output: Machine language. Diagarm Used in code optimization Data-Flow Engines Data-Flow Engines It is used in code