OPERATING SYSTEMS AND LANGUAGE TRANSLATORS - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

OPERATING SYSTEMS AND LANGUAGE TRANSLATORS

Description:

... have to be compiled/interpreted/translated/executed/analysed ... Parsing analysing the components of the program/sentence to work out its syntactic structure ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 17
Provided by: Computing115
Category:

less

Transcript and Presenter's Notes

Title: OPERATING SYSTEMS AND LANGUAGE TRANSLATORS


1
OPERATING SYSTEMS AND LANGUAGE TRANSLATORS
  • CIS 2380
  • TERM 2 LANGUAGE TRANSLATORS
  • Lee McCluskey lee_at_hud.ac.uk
  • TERM 1 OPERATING SYSTEMS
  • Roger England r.england_at_hud.ac.uk

2
TERM 2 resources
  • http//scom.hud.ac.uk/scomtlm/cas380/
  • There will be a link from Blackboard..

3
TERM 1 format
  • 1 Lecture 1 Tutorial or Practical
  • A mix of practical theory.

4
Assessment
  • Exam (70) examining BOTH terms but concentrating
    on term 2.

5
Language Translators
  • Computer Systems are full of FORMAL LANGUAGES
    HTML, XML, Java, Pascal, BNF, Z, VDM, Python,
    Lingo, C
  • There are languages for programming, for data,
    for database manipulation, for mark-up, for
    specification ..
  • Sentences (programs) of LANGUAGES have to be
    compiled/interpreted/translated/executed/analysed
  • by programs

6
Compilers
  • Are the most commonly known language translator
  • A COMPILER translates a program P written in a
    HIGH LEVEL language into a program Q written in
    a LOW LEVEL language eg Java -gt Byte code
  • Question what is the relationship between
    programs P and Q ??????????

7
Interpreters
  • Are commonly known language translators
  • What is the difference between Interpreters and
    Compilers?

8
Interpreters
  • Are commonly known language translators
  • What is the difference between Interpreters and
    Compilers?
  • ANSWER Interpreters analyse a program written in
    a HIGH LEVEL language AND execute it. Eg
    languages such as Prolog, Scheme, Haskell, Basic
    have interpreters
  • Compilers analyse then translate,
  • Interpreters analyse then execute.
  • Interpreted code execution is invariably slower
    than compiled code execution..

9
Some Jargon
  • Syntax the marks or symbols used in a
    language
  • Syntax Specification the set of symbols used in
    a language and the legal order that they may
    occur
  • GRAMMARS are often used to precisely specify
    syntax of languages

10
Some Jargon
  • Lexical Analysis analysing the characters that
    make up program/sentence syntax to work out the
    components of the program/sentence
  • Eg I f ( x x x x 2 3 4 5 ) y y y 4 2
    ETC
  • Are a sequence of characters. After lexical
    analysis this might translate to
  • Keyword(if) openbracket identifier(xxxx)
    operator() integer(2345) closedbracket
    Identifier(yyy) operator() integer(42) .

11
Some Jargon
  • Parsing analysing the components of the
    program/sentence to work out its syntactic
    structure
  • IF-construct
  • Keyword(if) openbracket identifier(xxxx)
    operator() integer(2345)

Boolean Expression
Statement
12
TERM 2 contents
  • Theory of Languages revision, Grammars and
    Properties of Grammars
  • Lexical Analysis, Scanning
  • Parsing
  • Automated Parser Generation
  • Symbol Tables
  • Code Generation

CODE ANALYSIS
13
Related Subjects
  • Software Design Compilers/interpreters can be
    very complex programs they require good
    software development skills
  • Theory of computing A great deal of the theory
    of automata, and grammars, is used to inform the
    practical pursuit of building language
    translators
  • Syntax and Semantics of Programs You have to
    know how a language is structured, and what a
    language means before you can write a translator

14
Resources for TERM 2
  • Main Book Andrew Appel Modern Compiler
    Implementation in Java. There are many copies in
    the library. We will cover the first 100 or so
    pages.
  • Other Books There are many books on Compilers
    all are worth looking at for background.
  • Website This forms the module hand book, as it
    has most of the teaching resources, the lecture
    plan, and the coursework
  • There are links to other resources from the
    website an online book, and some other lecture
    notes
  • Lecture Slides, most tutorial/practical sheets
    and most answers to questions are all on the
    website
  • NB I may change some of the lecture slides /
    tutorials for this year. The coursework will be
    different also!

15
Resources for TERM 2
  • The MAIN practical tool for this term is
  • JavaCup
  • This is a PARSER-GENERATOR
  • we will use it to generate parsers automatically
    from syntax specifications

16
Tutorial this week
  • Find the website
  • http//scom.hud.ac.uk/scomtlm/cas380/
  • Work through the exercises in Week 1. These are
    REVISION. If you are happy with a question move
    on to the next.
  • Some of the answers appear on the website.
  • See
  • http//www.javaworld.com/javaworld/jw-02-2003/jw-0
    207-java101.html
Write a Comment
User Comments (0)
About PowerShow.com