Software Development Environment, File Storage & Compiling

Slides:



Advertisements
Similar presentations
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Advertisements

Introduction to Programming Lecture 2. Today’s Lecture Software Categories Software Categories System Software System Software Application Software Application.
The Functions and Purposes of Translators Code Generation (Intermediate Code, Optimisation, Final Code), Linkers & Loaders.
Programming Types of Testing.
Lecture Roger Sutton CO331 Visual programming 15: Debugging 1.
Chapter3: Language Translation issues
If You Missed Last Week Go to Click on Syllabus, review lecture 01 notes, course schedule Contact your TA ( on website) Schedule.
Binary Aim: Explain binary and binary units Objective 1: Convert positive denary whole numbers (0-255) into 8-bit binary numbers and vice versa Objective.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Compiled by Benjamin Muganzi 3.2 Functions and Purposes of Translators Computing 9691 Paper 3 1.
Digital Data Patrice Koehl Computer Science UC Davis.
CREATED BY, MS. JENNIFER DUKE BITS, BYTES, AND UNITS OF MEASUREMENT.
Chapter 2 Software Tools and Assembly Language Syntax.
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
CSC141 Introduction to Computer Programming
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
1 Programming Languages Tevfik Koşar Lecture - II January 19 th, 2006.
COMPUTER TECHNOLOGY MRS. SEALE COMPUTER PERFORMANCE.
Software Engineering. Software Engineering is… Design Coding Testing Debugging Documentation Maintenance …of new software.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
1 3 Computing System Fundamentals 3.2 Computer Architecture.
What is Programming? A program is a list of instructions that is executed by a computer to accomplish a particular task. Creating those instructions is.
What on Earth? LEXEMETOKENPATTERN print p,r,i,n,t (leftpar( 4number4 *arith* 5number5 )rightpar) userAnswerID Letter followed by letters and digits “Game.
Overview of Previous Lesson(s) Over View  A program must be translated into a form in which it can be executed by a computer.  The software systems.
The Functions and Purposes of Translators Syntax (& Semantic) Analysis.
Chapter 1 : Overview of Computer and Programming By Suraya Alias
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
Binary Numbers. Base 10 and Base 2  We normally work with numbers in base 10.  In base 10 we use the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9.  Everything.
CC111 Lec#2 The System Unit The System Unit: Processing and Memory Lecture 2 Binary System.
Reminders Talk in English during all activities inside the class. Don’t answer the questions if you haven’t been asked. Don’t shout the answers.
The purpose of a CPU is to process data Custom written software is created for a user to meet exact purpose Off the shelf software is developed by a software.
Chapter 1 Introduction Samuel College of Computer Science & Technology Harbin Engineering University.
1 CS 192 Lecture 4 Winter 2003 December 8-9, 2003 Dr. Shafay Shamail.
Lecture 3 Translation.
Computer basics.
Component 1.6.
Component 1.6.
PRINCIPLES OF COMPILER DESIGN
Introduction to Compiler Construction
Component 1.6.
Data Representation N4/N5.
Chapter 6 Compiler.
Compiler Construction (CS-636)
Computer Memory Digital Literacy.
Memory Parts of a computer
Computer System and Programming
What is Binary? Binary is a two-digit (Base-2) numerical system, which computers use to process and store data. The reason computers use the binary system.
Unit 2.6 Data Representation Lesson 1 ‒ Numbers
-by Nisarg Vasavada (Compiled*)
Programming, Data & Testing
Introduction to Compiler Construction
Chapter 1: Introduction to Computers and Programming
Compiler Construction
Introduction to System Programming
How do computers work? Storage.
CSCE Fall 2013 Prof. Jennifer L. Welch.
Unit 1: Introduction Lesson 1: PArts of a java program
Compiler design.
CMP 131 Introduction to Computer Programming
From Problems to Algorithms to Programs
CSCE Fall 2012 Prof. Jennifer L. Welch.
Introduction to Compiler Construction
WJEC GCSE Computer Science
WJEC GCSE Computer Science
Introduction to Compiler Construction
ICS103 Programming in C 1: Overview of Computers And Programming
Week 5 Computers are like Old Testament gods; lots of rules and no mercy. Joseph Campbell.
CHAPTER 6 Testing and Debugging.
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

Software Development Environment, File Storage & Compiling

Data Storage Units – a reminder Symbol Value Byte B 8 bits Kilobyte Kb 1024 bytes Megabyte MB 1024 Kb Gigabyte GB 1024 MB Terabyte TB 1024 GB Petabyte PB 1024 TB Exabyte EB 1024 PB Zettabyte ZB 1024 EB Yottabyte YB 1024 ZB INTERESTING FACT Half a byte (4 bits) is called a nybble.

Software Development Environment / Integrated Development Environment (IDE)

Tools   Description Editor Allows a programmer to enter, format and edit source code Compiler Converts source code into executable machine code. Once compiled, a program can be run at any time Interpreter Converts each line of source code into machine code, and executes it as each line of code is run. The conversion process is performed each time the program needs to be run Linker A program which allows previously compiled code, from software libraries, to be linked together Loader A program which loads previously compiled code into memory Debugger A program which helps locate, identify and rectify errors in a program Trace A facility which displays the order in which the lines of a program are executed, and possibly the values of variables as the program is being run Break point A facility which interrupts a program on a specific line of code, allowing the programmer to compare the values of variables against expected values. The program code can then usually be executed one line at a time. This is called single-stepping Variable watch A facility which displays the current value of any variable. The value can be 'watched' as the program code is single-stepped to see the effects of the code on the variable. Alternatively a variable watch may be set, which will interrupt the program flow if the watched variable reaches a specified value Memory inspector A facility which will display the contents of a section of memory Error diagnostics Used when a program fails to compile or to run. Error messages are displayed to help the programmer diagnose what has gone wrong

Compilers A compiler is used when high level programming languages are converted into machine code, ready to be executed by the CPU. There are four main stages of compilation:  Lexical analysis Comments and unneeded spaces are removed. Keywords, constants and identifiers are replaced by 'tokens'. A symbol table is created which holds the addresses of variables, labels and subroutines.   Syntax analysis Tokens are checked to see if they match the spelling and grammar expected, using standard language definitions. This is done by parsing each token to determine if it uses the correct syntax for the programming language. If syntax errors are found, error messages are produced. Semantic analysis Variables are checked to ensure that they have been properly declared and used. Variables are checked to ensure that they are of the correct data type, e.g. real values are not being assigned to integers. Operations are checked to ensure that they are legal for the type of variable being used, e.g. you would not try to store the result of a division operation as an integer. Code generation Machine code is generated. Code optimisation may be employed to make it more efficient/faster/less resource intense.