8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
Post on 17-Jan-2016
<ul><li><p>CompilersCompiler A program that translates a high-level language program into machine codeHigh-level languages provide a richer set of instructions that makes the programmers life even easier</p></li><li><p>CompilersFigure 8.1 Compilation process</p></li><li><p>Programming Language ParadigmsFigure 8.2 Portability provided by standardized languages versus interpretation by Bytecode</p></li><li><p>Programming Language ParadigmsFigure 8.2 Portability provided by standardized languages versus interpretation by Bytecode</p></li><li><p>What Programs Do</p><p>AssignmentInput / OutputSequence Selection Deciding which action to take Iteration (looping) Repeating an action AbstractionEvent Management</p></li><li><p>Assignment statementAssignment statement An action statement (not a declaration) that says to evaluate the expression on the right-hand side of the symbol and store that value into the place named on the left-hand sideNamed constant A location in memory, referenced by an identifier, that contains a data value that cannot be changed</p></li><li><p>Assignment StatementPage 2388-29</p></li><li><p>Input/Output StructuresThe key to the processing is in the data type that determines how characters are to be converted to a bit pattern (input) and how a bit pattern is to be converted to characters (output)We do not give examples of input/output statements because the syntax is often quite complex and differs so widely among high-level languages</p></li><li><p>Selection StatementsThe if statement allows the program to test the state of the program variables using a Boolean expressionPage 243</p></li><li><p>Selection StatementsFigure 8.3 Flow of control of if statement</p></li><li><p>Selection Statements</p></li><li><p>case StatementFor convenience, many high-level languages include a case (or switch) statementAllows us to make multiple-choice decisions easier, provided the choices are discretePage 246</p></li><li><p>Looping StatementsThe while statement is used to repeat a course of actionLets look at two distinct types of repetitions</p></li><li><p>Looping StatementsCount-controlled loops Repeat a specified number of timesUse of a special variable called a loop control variableFigure 8.4 Flow of control of while statement</p></li><li><p>Looping StatementsEvent-controlled loopsThe number of repetitions is controlled by an event that occurs within the body of the loop itselfPage 249</p></li><li><p>Looping StatementsCount-controlled loops</p></li><li><p>Looping StatementsEvent-controlled loopsPage 249</p></li><li><p>Subprogram StatementsWe can give a section of code a name and use that name as a statement in another part of the programWhen the name is encountered, the processing in the other part of the program halts while the named code is executed</p></li><li><p>Subprogram StatementsThere are times when the calling unit needs to give information to the subprogram to use in its processingA parameter list is a list of the identifiers with which the subprogram is to work, along with the types of each identifier placed in parentheses beside the subprogram name</p></li><li><p>Subprogram StatementsFigure 8.5 Subprogram flow of control</p></li><li><p>Subprogram StatementsParameters Identifiers listed in parentheses beside the subprogram declaration; sometimes they are called formal parametersArguments Identifiers listed in parentheses on the subprogram call; sometimes they are called actual parameters</p></li><li><p>Subprogram StatementsPage 253</p></li><li><p>Recursion Recursion The ability of a subprogram to call itselfEach recursive solution has at least two casesBase case The case to which we have an answer General case The case that expresses the solution in terms of a call to itself with a smaller version of the problemFor example, the factorial of a number is defined as the number times the product of all the numbers between itself and 0: N! = N * (N 1)!</p></li><li><p>Event ProcessingEvent processing The concept that input and output can be accomplished through windows on the screenClicking has become a major form of input to the computerMouse clicking is not within the sequence of the programA user can click a mouse at any time during the execution of a programThis type of processing is called asynchronous</p></li><li><p>One way to keep from making mistakesStrong typing The requirement that only a value of the proper type can be stored into a variableData type A description of the set of values and the basic set of operations that can be applied to values of the type</p></li><li><p>DeclarationsDeclaration A statement that associates an identifier with a variable, an action, or some other entity within the language that can be given a name so that the programmer can refer to that item by name</p></li><li><p>Declarations8-26</p></li><li><p>IntegersThe range varies depending upon how many bytes are assigned to represent an integer valueSome high-level languages provide several integer types of different sizesOperations that can be applied to integers are the standard arithmetic and relational operations</p></li><li><p>RealsLike the integer data type, the range varies depending on the number of bytes assigned to represent a real numberMany high-level languages have two sizes of real numbersThe operations that can be applied to real numbers are the same as those that can be applied to integer numbers</p></li><li><p>CharactersIt takes one byte to represent characters in the ASCII character set Two bytes to represent characters in the Unicode character setOur English alphabet is represented in ASCII, which is a subset of Unicode</p></li><li><p>CharactersApplying arithmetic operations to characters doesnt make much senseComparing characters does make sense, so the relational operators can be applied to charactersThe meaning of less than and greater than when applied to characters is comes before and comes after in the character set</p></li><li><p>BooleanThe Boolean data type consists of two values: true and falseNot all high-level languages support the Boolean data typeIf a language does not, then you can simulate Boolean values by saying that the Boolean value true is represented by 1 and false is represented by 0</p></li><li><p>StringsA string is a sequence of characters considered as one data valueFor example: This is a string.Containing 17 characters: one uppercase letter, 12 lowercase letters, three blanks, and a periodThe operations defined on strings vary from language to language They include concatenation of strings and comparison of strings in terms of lexicographic order</p></li><li><p>ArraysAn array is a named collection of homogeneous items in which individual items are accessed by their place within the collectionThe place within the collection is called an index</p></li><li><p>ArraysFigure 8.8 Array variable tenThings accessed from 0..9</p></li><li><p>Composite Data TypesRecordsA record is a named heterogeneous collection of items in which individual items are accessed by nameThe elements in the collection can be of various types</p></li><li><p>Composite Data TypesPage 258</p></li><li><p>Composite Data TypesPage 259</p></li></ul>
View more >
. n COMPILERS n n AND n n INTERPRETERS. -Compilers nA compiler is a program thatt reads a program written in one language - the source language- and translates.
Introduction The compilation approach uses a program called a compiler, which translates programs written in a high-level programming language into machine.
Elements of C++ Programs C++ is a high level language. A program called a compiler translates C++ programs into machine language program called (object.
ICS611 Introduction to Compilers Set 1. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
Agenda Computer Languages –Machine Language –High-Level Programming Language –Features of C Programming Language How to Write a Simple C Program
Programming at a high level. Developing a Computer Program Programmer Writes program in source code (VB or other language) Compiler Converts source.
1 Machine Language Alex Ostrovsky. 2 Introduction Hierarchy of computer languages: 1. Application-Specific Language (Matlab compiler) 2. High-Level Programming.
From High Level to Machine Code - High Level to Machine Code Hardware ... Compiler Web browser Java Interpreter Java ... Author: ARIK
Jade: A High-Level, Machine-Independent Language for Parallel Programming ?· Jade: A High-Level, Machine-Independent…
1 Starting a Program The 4 stages that take a C++ program (or any high-level programming language) and execute it in internal memory are: Compiler - C++
Compilers -- Basic functions Generally, an independent course, maybe plus one semester on implementation of a compiler. High level language program program.
Review questions for Chapter 9 - Faculty Website questions for Chapter 9 Answer first, then check at the end. True/False 1. A compiler translates a high-level language program into the corresponding program in machine code. 2. An interpreter is a simulator that ...
A compiler is a computer program that translate written code (source code) into another computer language Associated with high level languages A well.
12/18/2015 CSI 201 -- Chapter 1 1 Compiler + Linker = Ready to run code Compiler translates high-level language source code into an intermediate object.
1 Introduction to Compilation Cheng-Chia Chen. 2 What is a compiler? l a program that translates an executable program in one language into an executable.
Assemblers, Linkers Loaders - Home | George setia/cs365-S02/ , Linkers Loaders Assembler Assembly language program Compiler C program Linker Executable: Machine language program Loader Memory Object: Machine language module Object: Library routine (machine language) Translation Hierarchy. 2 Translation Hierarchy • Compiler – Translates high-level language program into
1 The Evaluator. 2 Compiler vs. Interpreter Command Processing Unit The Computer Program in Low Level Machine Language Program in High Level Language.