1.1 Introduction to Language Processor

Slides:



Advertisements
Similar presentations
1 CIS 461 Compiler Design and Construction Fall 2014 Instructor: Hugh McGuire slides derived from Tevfik Bultan, Keith Cooper, and Linda Torczon Lecture-Module.
Advertisements

Week 3. Assembly Language Programming  Difficult when starting assembly programming  Have to work at low level  Use processor instructions >Requires.
8. Code Generation. Generate executable code for a target machine that is a faithful representation of the semantics of the source code Depends not only.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Systems Software.
Compiler Construction by Muhammad Bilal Zafar (AP)
1 Ch. 3: Interaction Introduction – 3.1 (Reading Assignment – RA) Introduction – 3.1 (Reading Assignment – RA) Models – 3.2, 3.3 (RA) Models – 3.2, 3.3.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Program Flow Charting How to tackle the beginning stage a program design.
Software Requirements
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Chapter 1 Introduction to C Programming. 1.1 INTRODUCTION This book is about problem solving with the use of computers and the C programming language.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 1, Lab.
1.2 Language Processing Activities The fundamental language processing activities divided into two parts. 1. Program generation activities 2. Program execution.
1 Software, Programmings. 2 Types of Software Figure 9.1 Shakeel Ahmad.
7M822 Software Requirements Introduction 7 September 2010.
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
PROGRAMMING LANGUAGES The Study of Programming Languages.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Chapter 1. Introduction.
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.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Software Requirements.
Introduction to Java August 14, 2008 Mrs. C. Furman.
CSC 338: Compiler design and implementation
Language processors (Chapter 2) 1 Course Overview PART I: overview material 1Introduction 2Language processors (tombstone diagrams, bootstrapping) 3Architecture.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
B.Ramamurthy11/9/20151 Computers and Programming Bina Ramamurthy 127 Bell Hall
What am I?. Translators Translators – Module Knowledge Areas Types of translators and their use Lexical analysis Syntax analysis Code generation and.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
Compilers: Overview/1 1 Compiler Structures Objective – –what are the main features (structures) in a compiler? , Semester 1,
Math – What is a Function? 1. 2 input output function.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Chapter 1: Introduction 1 Compiler Designs and Constructions Chapter 1: Introduction Objectives: Course Objectives Introduction Dr. Mohsen Chitsaz.
 Programming - the process of creating computer programs.
Language Implementation Methods David Woolbright.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
Compiler Construction CPCS302 Dr. Manal Abdulaziz.
Chapter – 8 Software Tools.
ICS312 Introduction to Compilers Set 23. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Introduction To Software Development Environment.
Chapter 1. Introduction.
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Why don’t programmers have to program in machine code?
Advanced Computer Systems
Component 1.6.
Topic: Programming Languages and their Evolution + Intro to Scratch
PRINCIPLES OF COMPILER DESIGN
Introduction to Compiler Construction
Chapter 5- Assembling , Linking, and Executing Programs
SYSTEM SOFTWARE & COMPILER DESIGN
Introduction to programming
Operating System Interface between a user and the computer hardware
Language Translation Compilation vs. interpretation.
A451 Theory – 7 Programming 7A, B - Algorithms.
TRANSLATORS AND IDEs Key Revision Points.
Assembler, Compiler, Interpreter
and Executing Programs
Chapter 1 Introduction(1.1)
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Assembler, Compiler, Interpreter
Programming language translators
Presentation transcript:

1.1 Introduction to Language Processor A language processor is a software which bridges a specification and execution gap. Language processing activities arise due to: The difference between software designer’s idea related to behavior of software and the manner in which these ideas are implemented.

Introduction to Language Processor The designer expresses the ideas in terms related to the application domain. To implement these ideas in terms related to execution domain. The difference between the two domain termed as semantic gap. Semantic Gap Application Execution Domain Domain

Introduction to Language Processor The semantic gap has many difficulties, some of the important ones being large development time and efforts, and poor quality of software. These issues are tackled through the use of programming language (PL). Software implementation using PL introduces a new domain as PL domain.

Introduction to Language Processor Now the semantic gap is bridged by the software engineering steps. The first step bridges gap between application domain and PL domain known as specification gap. While the second step bridges the gap between PL domain and execution domain as execution gap. Specification Gap Execution Gap Application PL Execution Domain Domain Domain

Introduction to Language Processor The specification gap is bridge by the software development team. While the execution gap is bridged by the designer of the programming language processor. Like compiler or interpreter. PL domain reduces the difficulties of semantic gap mentioned earlier. The language processor also provides a diagnostics capability which detects and indicates errors in its input. This helps in improving the quality of the software.

Introduction to Language Processor Language processor is a software which bridges a specification or execution gap. We use term language processing to describe the activity performed by a language processor. We refer to the program form input to a language processor as source program and its output as the target program. The language in which these programs are written are called source language and target language.

Introduction to Language Processor A range of LP is defined to meet practical requirements. A language translator bridges an execution gap to the machine language like assembler and compiler. A detranslator bridges the same as the language translator, but in the reverse manner. A preprocessor is a language processor which bridges an execution gap but not translator. A language migrator bridges specification gap between two PLs.

MCQ The designer expresses the ideas in terms related to the __________ of the software. A. Application Domain B. Execution Domain C. PL Domain D. Program Generator Domain

MCQ The designer expresses the ideas in terms related to the __________ of the software. A. Application Domain B. Execution Domain C. PL Domain D. Program Generator Domain

MCQ The gap between Application domain and PL domain is called__________. A. Execution Gap B. Specification Gap C. Application Gap D. Semantic Gap

MCQ The gap between Application domain and PL domain is called__________. A. Execution Gap B. Specification Gap C. Application Gap D. Semantic Gap

MCQ A __________ is software which bridges a specification or execution gap. A. Language Processor B. Editor C. Application D. None

MCQ A __________ is software which bridges a specification or execution gap. A. Language Processor B. Editor C. Application D. None

MCQ The gap between PL domain and Execution domain is called__________. A. Semantic Gap B. Specification Gap C. Application Gap D. Execution Gap

MCQ The gap between PL domain and Execution domain is called__________. A. Semantic Gap B. Specification Gap C. Application Gap D. Execution Gap

Short Questions Draw a diagram of a language processing system. What is meaning of Language Processing? Define : Application Domain & Execution Domain Define: Specification Gap & Execution Gap

Long Questions What is Language Processing? Explain Application, PL & Execution domain. What is Language Processing? Explain spectrum of language processor. Explain Language Processing Activity in detail.