SlideShare ist ein Scribd-Unternehmen logo
1 von 85
Downloaden Sie, um offline zu lesen
IN4303 2015/16
Compiler Construction
Software Languages
language - languages - software
Guido Wachsmuth
Software Languages 2
Software Languages 3
language
definition
properties
study
languages
natural
controlled
artificial
software
language software
language processors
compilers
compiler construction
Software Languages 4
language
definition
Software Languages 5
Language is the source of misunderstandings.
Antoine de Saint-Exupéry: Le Petit Prince.
Software Languages 6
Language is
a purely human and non-instinctive method
of communicating ideas, emotions, and desires
by means
of a system of voluntarily produced symbols.
Edward Sapir: Language. An Introduction to the Study of Speech.
Software Languages 7
Language is
a method
of communicating
by means
of symbols.
Edward Sapir: Language. An Introduction to the Study of Speech.
Software Languages 8
Language is
a purely human and non-instinctive method
of communicating
by means
of a system of voluntarily produced symbols.
Edward Sapir: Language. An Introduction to the Study of Speech.
Software Languages 9
Language is
a purely human and non-instinctive method
of communicating ideas, emotions, and desires
by means
of a system of voluntarily produced symbols.
Edward Sapir: Language. An Introduction to the Study of Speech.
Software Languages 10
language
properties
Software Languages 11
non-instinctive
Software Languages 12
symbolic
Software Languages 13
arbitrary
Software Languages 14
systematic
Software Languages 15
productive
Software Languages 16
conventional
Software Languages 17
modifiable
Software Languages 18
language
study
Software Languages 19
meta language facility
Software Languages 20
Philosophy
Linguistics
lexicology
grammar
morphology
syntax
phonology
semantics
Interdisciplinary
applied linguistics
computational linguistics
historical linguistics
neurolinguistics
psycholinguistics
sociolinguistics
Software Languages 21
natural languages
Software Languages 22
7106 known living languages - 6.3 billion speakers
Ethnologue - Languages of the World.
Software Languages 23
A language is a dialect with a navy and an army.
Max Weinreich: YVO Bletter 25(1).
Software Languages 24
controlled languages
Software Languages 25
meta language facility
Software Languages 26
Classical Sanskrit
Software Languages 27
German
Software Languages 28
ASD Simplified
Technical English
Software Languages 29
artificial languages
Software Languages 30
Software Languages 31
Software Languages 32
Klingon
Software Languages 33
Na'vi
Software Languages 34
software languages
Software Languages 35
8512 programming languages - 18.5 million developers
Diarmuid Pigott: History of Programming Languages.
IDC: 2014 Worldwide Software Developer and ICT-Skilled Worker Estimates.
Software Languages 36
languages to engineer software
Software Languages 37
to provide a means
of communicating
numerical methods and other procedures
between people
John W. Backus: The Syntax and Semantics of the Proposed International Algebraic Language
of Zürich ACM-GAMM Conference.
Software Languages 38
to provide a means
of communicating
numerical methods and other procedures
between people
John W. Backus: The Syntax and Semantics of the Proposed International Algebraic Language
of Zürich ACM-GAMM Conference.
Software Languages 39
software
language
natural
language
Software Languages 40
Philosophy
Linguistics
lexicology
grammar
morphology
syntax
phonology
semantics
Interdisciplinary
Computer Science
syntax
semantics
Software Languages 41
/* factorial function */
let
var x := 0
function fact(n : int) : int =
if n < 1 then 1 else (n * fact(n - 1))
in
for i := 1 to 3 do (
x := x + fact(i);
printint(x);
print(" ")
)
end
Tiger
the lecture language
Software Languages 42
#include <stio.h>
/* factorial function */
int fac(int num) {
if (num < 1)
return 1;
else
return num * fac(num - 1);
}
int main() {
printf(“%d! = %dn”, 10, fac(10));
return 0;
}
C
another lecture language
Software Languages 43
class Main {
public static void main(String[] args) {
System.out.println(new Fac().fac(10));
}
}
class Fac {
public int fac(int num) {
int num_aux;
if (num < 1)
num_aux = 1;
else
num_aux = num * this.fac(num - 1);
return num_aux;
}
}
MiniJava
the lab language
Software Languages 44
language software
Software Languages 45
languages to engineer software
Software Languages 46
pieces of software themselves
Software Languages 47
to provide a means
for realising a stated process
on a variety of machines
John W. Backus: The Syntax and Semantics of the Proposed International Algebraic Language
of Zürich ACM-GAMM Conference.
Software Languages 48
to provide a means
for realising a stated process
on a variety of machines
John W. Backus: The Syntax and Semantics of the Proposed International Algebraic Language
of Zürich ACM-GAMM Conference.
Software Languages 49
interpreter
software
language
compiler
software
language
machine
language
Software Languages
natural
language
natural
language
translator
50
compiler
software
language
machine
language
Software Languages 51
language software
language processors
Software Languages 52
language processors
scanners & parsers
3 * +7 213 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
scanner parser
Software Languages 53
language processors
scannerless parsers
3 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
parser
Software Languages 54
language processors
pretty-printers
3 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
pretty-
printer
Software Languages 55
language processors
type checkers
3 * +7 21
Exp ExpExp
Exp
Exp
type
checker
errors
Software Languages 56
language processors
optimisers
3 * +7 21
Exp ExpExp
Exp
Exp
optimiser 42
Exp
Software Languages 57
language processors
generators
ldc 3
ldc 7
imul
ldc 21
iadd
3 * +7 21
Exp ExpExp
Exp
Exp
generator
Software Languages 58
language software
compilers
Software Languages 59
> ls
Course.java
> javac -verbose Course.java
[parsing started Course.java]
[parsing completed 8ms]
[loading java/lang/Object.class(java/lang:Object.class)]
[checking university.Course]
[wrote Course.class]
[total 411ms]
> ls
Course.class Course.java
traditional compilers
example
Software Languages 60
traditional compilers
architecture
source
code
Software Languages 60
traditional compilers
architecture
source
code
parse
Software Languages 60
traditional compilers
architecture
source
code
errors
parse
check
Software Languages 60
traditional compilers
architecture
source
code
errors
parse generate
check
machine
code
Software Languages 61
traditional compilers
compilation by transformation
backend
frontend
parse desugar analyse normalise
generate optimise format
Software Languages 62
modern compilers in IDEs
features
Software Languages 63
modern compilers in IDEs
features
Software Languages 64
modern compilers in IDEs
features
Software Languages 65
modern compilers in IDEs
architecture
source
code
Software Languages 65
modern compilers in IDEs
architecture
source
code
parse
Software Languages 65
modern compilers in IDEs
architecture
source
code
parse
check
Software Languages 65
modern compilers in IDEs
architecture
source
code
parse
check
Software Languages 65
modern compilers in IDEs
architecture
source
code
parse generate
machine
code
check
Software Languages 66
language software
compiler construction
Software Languages 67
meta language facility
Software Languages 68
traditional compiler compilers
manual implementation
language
implementation
compile
compiler
Software Languages 69
traditional compiler compilers
compilation + compilation
language
implementation
compile
compiler
language
definition
compile
Software Languages 70
traditional compiler compilers
example
syntax
definition
errors
parse generate
check
parser
code
Software Languages 71
traditional compiler compilers
compilation + interpretation
interpreter
language
definition
compile
language
implementation
Software Languages 72
traditional compiler compilers
example
syntax
definition
errors
parse generate
check
parse
table
generic
parser
Software Languages 73
language workbenches
architecture
language
definition
parse generate
language
implementation
check
Software Languages 74
Spoofax language workbench
Software Languages
Stratego
NaBL
TS
SDF3
ESV
editor
SPT
tests
75
syntax definition
concrete syntax
abstract syntax
static semantics
name binding
type system
dynamic semantics
translation
interpretation
Software Languages 76
Except where otherwise noted, this work is licensed under
Software Languages 77
attribution
slide title author license
1, 35 Programming language textbooks K.lee public domain
2 The Bigger Picture F. Delventhal CC BY 2.0
5 Rose 2 des Kleinen Prinzen Antoine Saint-Exupéry public domain
11 Dog and owner on Ballykinler Beach Jonny Green CC BY 2.0
12 Fashionable melange of English words (1) trialsanderrors public domain
13 Gift asenat29 CC BY 2.0
13 Toxic John Morgan CC BY 2.0
14 Latin Grammar Anthony Nelzin
15 Ginkgo Biloba Johann Wolfgang von Goethe public domain
16 Sub-deb slang genibee CC BY-NC 2.0
17 Wednesday Michael Fawcett CC BY-NC-SA 2.0
19, 25, 67 Thesaurus Enoch Lau CC BY-SA 3.0
22
The captured Swiftsure, Seven Oaks, Loyal
George and Convertine brought through
Goeree Gat
Willem van de Velde the Younger public domain
Software Languages 78
attribution
slide title author license
23 Tower of Babel Pieter Bruegel the Elder public domain
26 The Ashtadhyayi translated by Srisa Chandra Vasu public domain
27 Buchdruckerduden public domain
28
Boeing 737-300 -400 -500 Manitenance
Manual Alaska Airlines
Bill Abbott CC BY-SA 2.0
30 Esperanto public domain
31 Quenya Juanma Pérez Rabasco CC BY 2.0
32 Klingon Dictionary Josh Bancroft CC BY-NC 2.0
33 Overweight Na'vi HARRY NGUYEN CC BY 2.0
36, 45, 46 IBM Electronic Data Processing Machine NASA public domain
41 Tiger Bernard Landgraf CC BY-SA 3.0
42 The C Programming Language Bill Bradford CC BY 2.0
43 Italian Java book cover
49-73 PICOL icons Melih Bilgil CC BY 3.0

Weitere ähnliche Inhalte

Ähnlich wie Software Languages

COMP LESSON 2 - COMPUTER PROGRAMING 2023
COMP LESSON 2 - COMPUTER  PROGRAMING 2023COMP LESSON 2 - COMPUTER  PROGRAMING 2023
COMP LESSON 2 - COMPUTER PROGRAMING 2023Charie Pincas
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer ProgrammingHussain Buksh
 
Programming languages in bioinformatics by dr. jayarama reddy
Programming languages in bioinformatics by dr. jayarama reddyProgramming languages in bioinformatics by dr. jayarama reddy
Programming languages in bioinformatics by dr. jayarama reddyDr. Jayarama Reddy
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2REHAN IJAZ
 
English de lenguaje de programacion
English de lenguaje de programacionEnglish de lenguaje de programacion
English de lenguaje de programacionVillalba Griselda
 
History of Computer Programming Languages.pptx
History of Computer Programming Languages.pptxHistory of Computer Programming Languages.pptx
History of Computer Programming Languages.pptxAliAbbas906043
 
Grade 10 introduction and history of programming
Grade 10   introduction and history of programmingGrade 10   introduction and history of programming
Grade 10 introduction and history of programmingRafael Balderosa
 
Introduction Programming Languages
Introduction Programming LanguagesIntroduction Programming Languages
Introduction Programming LanguagesManish Kharotia
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialQA TrainingHub
 
rlanguage-201216152504.pptx
rlanguage-201216152504.pptxrlanguage-201216152504.pptx
rlanguage-201216152504.pptxSubramanian Mani
 
Introduction to programming principles languages
Introduction to programming principles languagesIntroduction to programming principles languages
Introduction to programming principles languagesFrankie Jones
 
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank DucrestPDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank DucrestMatthew Turland
 
Can programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleCan programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleshady_10
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer softwareSweta Kumari Barnwal
 
Free/Open Source Software for Science & Engineering
Free/Open Source Software for Science & EngineeringFree/Open Source Software for Science & Engineering
Free/Open Source Software for Science & EngineeringKinshuk Sunil
 
Lesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptxLesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptxDysRobles
 

Ähnlich wie Software Languages (20)

COMP LESSON 2 - COMPUTER PROGRAMING 2023
COMP LESSON 2 - COMPUTER  PROGRAMING 2023COMP LESSON 2 - COMPUTER  PROGRAMING 2023
COMP LESSON 2 - COMPUTER PROGRAMING 2023
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer Programming
 
Programming languages in bioinformatics by dr. jayarama reddy
Programming languages in bioinformatics by dr. jayarama reddyProgramming languages in bioinformatics by dr. jayarama reddy
Programming languages in bioinformatics by dr. jayarama reddy
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2
 
English de lenguaje de programacion
English de lenguaje de programacionEnglish de lenguaje de programacion
English de lenguaje de programacion
 
History of Computer Programming Languages.pptx
History of Computer Programming Languages.pptxHistory of Computer Programming Languages.pptx
History of Computer Programming Languages.pptx
 
Grade 10 introduction and history of programming
Grade 10   introduction and history of programmingGrade 10   introduction and history of programming
Grade 10 introduction and history of programming
 
Introduction Programming Languages
Introduction Programming LanguagesIntroduction Programming Languages
Introduction Programming Languages
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python Tutorial
 
rlanguage-201216152504.pptx
rlanguage-201216152504.pptxrlanguage-201216152504.pptx
rlanguage-201216152504.pptx
 
Unit ii oo design 9
Unit ii oo design 9Unit ii oo design 9
Unit ii oo design 9
 
R language
R languageR language
R language
 
Lecture # 1
Lecture # 1Lecture # 1
Lecture # 1
 
Introduction to programming principles languages
Introduction to programming principles languagesIntroduction to programming principles languages
Introduction to programming principles languages
 
Presentation1
Presentation1Presentation1
Presentation1
 
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank DucrestPDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
 
Can programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleCan programming be liberated from the von neumman style
Can programming be liberated from the von neumman style
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer software
 
Free/Open Source Software for Science & Engineering
Free/Open Source Software for Science & EngineeringFree/Open Source Software for Science & Engineering
Free/Open Source Software for Science & Engineering
 
Lesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptxLesson 1-3 Fundamentals of Programming.pptx
Lesson 1-3 Fundamentals of Programming.pptx
 

Mehr von Guido Wachsmuth

Domain-Specific Type Systems
Domain-Specific Type SystemsDomain-Specific Type Systems
Domain-Specific Type SystemsGuido Wachsmuth
 
Declarative Syntax Definition - Pretty Printing
Declarative Syntax Definition - Pretty PrintingDeclarative Syntax Definition - Pretty Printing
Declarative Syntax Definition - Pretty PrintingGuido Wachsmuth
 
Compiler Components and their Generators - LR Parsing
Compiler Components and their Generators - LR ParsingCompiler Components and their Generators - LR Parsing
Compiler Components and their Generators - LR ParsingGuido Wachsmuth
 
Compiling Imperative and Object-Oriented Languages - Garbage Collection
Compiling Imperative and Object-Oriented Languages - Garbage CollectionCompiling Imperative and Object-Oriented Languages - Garbage Collection
Compiling Imperative and Object-Oriented Languages - Garbage CollectionGuido Wachsmuth
 
Compiler Components and their Generators - Lexical Analysis
Compiler Components and their Generators - Lexical AnalysisCompiler Components and their Generators - Lexical Analysis
Compiler Components and their Generators - Lexical AnalysisGuido Wachsmuth
 
Compiler Components and their Generators - Traditional Parsing Algorithms
Compiler Components and their Generators - Traditional Parsing AlgorithmsCompiler Components and their Generators - Traditional Parsing Algorithms
Compiler Components and their Generators - Traditional Parsing AlgorithmsGuido Wachsmuth
 
Compiling Imperative and Object-Oriented Languages - Register Allocation
Compiling Imperative and Object-Oriented Languages - Register AllocationCompiling Imperative and Object-Oriented Languages - Register Allocation
Compiling Imperative and Object-Oriented Languages - Register AllocationGuido Wachsmuth
 
Compiling Imperative and Object-Oriented Languages - Dataflow Analysis
Compiling Imperative and Object-Oriented Languages - Dataflow AnalysisCompiling Imperative and Object-Oriented Languages - Dataflow Analysis
Compiling Imperative and Object-Oriented Languages - Dataflow AnalysisGuido Wachsmuth
 
Pure and Declarative Syntax Definition: Paradise Lost and Regained
Pure and Declarative Syntax Definition: Paradise Lost and RegainedPure and Declarative Syntax Definition: Paradise Lost and Regained
Pure and Declarative Syntax Definition: Paradise Lost and RegainedGuido Wachsmuth
 
Introduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesIntroduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesGuido Wachsmuth
 
Compiling Imperative and Object-Oriented Languages - Activation Records
Compiling Imperative and Object-Oriented Languages - Activation RecordsCompiling Imperative and Object-Oriented Languages - Activation Records
Compiling Imperative and Object-Oriented Languages - Activation RecordsGuido Wachsmuth
 
Declarative Semantics Definition - Code Generation
Declarative Semantics Definition - Code Generation Declarative Semantics Definition - Code Generation
Declarative Semantics Definition - Code Generation Guido Wachsmuth
 
Declarative Semantics Definition - Static Analysis and Error Checking
Declarative Semantics Definition - Static Analysis and Error CheckingDeclarative Semantics Definition - Static Analysis and Error Checking
Declarative Semantics Definition - Static Analysis and Error CheckingGuido Wachsmuth
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingGuido Wachsmuth
 
Declarative Syntax Definition - Grammars and Trees
Declarative Syntax Definition - Grammars and TreesDeclarative Syntax Definition - Grammars and Trees
Declarative Syntax Definition - Grammars and TreesGuido Wachsmuth
 

Mehr von Guido Wachsmuth (17)

Language
LanguageLanguage
Language
 
Domain-Specific Type Systems
Domain-Specific Type SystemsDomain-Specific Type Systems
Domain-Specific Type Systems
 
Declarative Syntax Definition - Pretty Printing
Declarative Syntax Definition - Pretty PrintingDeclarative Syntax Definition - Pretty Printing
Declarative Syntax Definition - Pretty Printing
 
Compiler Components and their Generators - LR Parsing
Compiler Components and their Generators - LR ParsingCompiler Components and their Generators - LR Parsing
Compiler Components and their Generators - LR Parsing
 
Compiling Imperative and Object-Oriented Languages - Garbage Collection
Compiling Imperative and Object-Oriented Languages - Garbage CollectionCompiling Imperative and Object-Oriented Languages - Garbage Collection
Compiling Imperative and Object-Oriented Languages - Garbage Collection
 
Compiler Components and their Generators - Lexical Analysis
Compiler Components and their Generators - Lexical AnalysisCompiler Components and their Generators - Lexical Analysis
Compiler Components and their Generators - Lexical Analysis
 
Compiler Components and their Generators - Traditional Parsing Algorithms
Compiler Components and their Generators - Traditional Parsing AlgorithmsCompiler Components and their Generators - Traditional Parsing Algorithms
Compiler Components and their Generators - Traditional Parsing Algorithms
 
Compiling Imperative and Object-Oriented Languages - Register Allocation
Compiling Imperative and Object-Oriented Languages - Register AllocationCompiling Imperative and Object-Oriented Languages - Register Allocation
Compiling Imperative and Object-Oriented Languages - Register Allocation
 
Compiling Imperative and Object-Oriented Languages - Dataflow Analysis
Compiling Imperative and Object-Oriented Languages - Dataflow AnalysisCompiling Imperative and Object-Oriented Languages - Dataflow Analysis
Compiling Imperative and Object-Oriented Languages - Dataflow Analysis
 
Pure and Declarative Syntax Definition: Paradise Lost and Regained
Pure and Declarative Syntax Definition: Paradise Lost and RegainedPure and Declarative Syntax Definition: Paradise Lost and Regained
Pure and Declarative Syntax Definition: Paradise Lost and Regained
 
Introduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesIntroduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented Languages
 
Compiling Imperative and Object-Oriented Languages - Activation Records
Compiling Imperative and Object-Oriented Languages - Activation RecordsCompiling Imperative and Object-Oriented Languages - Activation Records
Compiling Imperative and Object-Oriented Languages - Activation Records
 
Declarative Semantics Definition - Code Generation
Declarative Semantics Definition - Code Generation Declarative Semantics Definition - Code Generation
Declarative Semantics Definition - Code Generation
 
Declarative Semantics Definition - Static Analysis and Error Checking
Declarative Semantics Definition - Static Analysis and Error CheckingDeclarative Semantics Definition - Static Analysis and Error Checking
Declarative Semantics Definition - Static Analysis and Error Checking
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term Rewriting
 
Syntax Definition
Syntax DefinitionSyntax Definition
Syntax Definition
 
Declarative Syntax Definition - Grammars and Trees
Declarative Syntax Definition - Grammars and TreesDeclarative Syntax Definition - Grammars and Trees
Declarative Syntax Definition - Grammars and Trees
 

Kürzlich hochgeladen

Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 

Kürzlich hochgeladen (20)

Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 

Software Languages

Hinweis der Redaktion

  1. \n
  2. \n
  3. Who printed the slides? Who took it with her?\n\ncontent appreciated (for exams) but boring during lectures\n\nslides in this course: some content much content by speaking\n\nprint out b/w versionmake comments\n
  4. strange term\nWho heard of it already?\ncomputer language? programming language?\n
  5. not a language but language\n
  6. \n
  7. old definition, 1921\n\nread it line by line\n
  8. old definition, 1921\n\nread it line by line\n
  9. old definition, 1921\n\nread it line by line\n
  10. old definition, 1921\n\nread it line by line\n
  11. old definition, 1921\n\nread it line by line\n
  12. old definition, 1921\n\nread it line by line\n
  13. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  14. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  15. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  16. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  17. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  18. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  19. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  20. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  21. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  22. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  23. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  24. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  25. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  26. no relation between sign and meaning\nno arbitrary composition but systematic\nsay what never was said\nwalking = instinctive\nsocial agreement\nbecause of arbitrariness\n
  27. talk about languagetalk about a language\n\nby using a language\n
  28. lexicology: vocabulary in the lexicon \nmorphology: how to build words from parts\nsyntax: how to build sentences from words\n\napplied linguistics: language in every day life, language planning, translation, 2nd lang acquisition\nneurolinguistics: neural mechanisms in brain comprehension, production, acquisition\n
  29. lexicology: vocabulary in the lexicon \nmorphology: how to build words from parts\nsyntax: how to build sentences from words\n\napplied linguistics: language in every day life, language planning, translation, 2nd lang acquisition\nneurolinguistics: neural mechanisms in brain comprehension, production, acquisition\n
  30. lexicology: vocabulary in the lexicon \nmorphology: how to build words from parts\nsyntax: how to build sentences from words\n\napplied linguistics: language in every day life, language planning, translation, 2nd lang acquisition\nneurolinguistics: neural mechanisms in brain comprehension, production, acquisition\n
  31. lexicology: vocabulary in the lexicon \nmorphology: how to build words from parts\nsyntax: how to build sentences from words\n\napplied linguistics: language in every day life, language planning, translation, 2nd lang acquisition\nneurolinguistics: neural mechanisms in brain comprehension, production, acquisition\n
  32. \n
  33. hard to say what is a language (and not a dialect)\n
  34. speakers, not writers\n\ntower reference to misunderstanding\n
  35. avoid misunderstandings\nstep 1: language control, planning\nstep 2: artificial languages \n
  36. avoid misunderstandings\nstep 1: language control, planning\nstep 2: artificial languages \n
  37. avoid misunderstandings\nstep 1: language control, planning\nstep 2: artificial languages \n
  38. avoid misunderstandings\nstep 1: language control, planning\nstep 2: artificial languages \n
  39. avoid misunderstandings\nstep 1: language control, planning\nstep 2: artificial languages \n
  40. made for human communication: just another artificial language?\n\nestablish this stated process\nestablish it by the help of machines\n\n
  41. made for human communication: just another artificial language?\n\nestablish this stated process\nestablish it by the help of machines\n\n
  42. not only ALGOL: many other languages in SE\n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. one example language\n\nused during the lecture to explain tools\n\nconcepts: expressions, functions\n
  49. another example language\n\nused during the lab\n\nvery restricted subset of Java\n
  50. how fit compilers into the story?\n\nwhat do we need them for?\n
  51. remember the second one\n\ncompilers help\n\n\n
  52. replace human by artificial language\nhelps for communicating algorithms, ideas, designs\n\nbut still no stated process on machine\ncompiler translates\nuse the machine to establish the process on the machine\n
  53. replace human by artificial language\nhelps for communicating algorithms, ideas, designs\n\nbut still no stated process on machine\ncompiler translates\nuse the machine to establish the process on the machine\n
  54. replace human by artificial language\nhelps for communicating algorithms, ideas, designs\n\nbut still no stated process on machine\ncompiler translates\nuse the machine to establish the process on the machine\n
  55. replace human by artificial language\nhelps for communicating algorithms, ideas, designs\n\nbut still no stated process on machine\ncompiler translates\nuse the machine to establish the process on the machine\n
  56. replace human by artificial language\nhelps for communicating algorithms, ideas, designs\n\nbut still no stated process on machine\ncompiler translates\nuse the machine to establish the process on the machine\n
  57. replace human by artificial language\nhelps for communicating algorithms, ideas, designs\n\nbut still no stated process on machine\ncompiler translates\nuse the machine to establish the process on the machine\n
  58. console interaction\n
  59. console interaction\n
  60. console interaction\n
  61. mysterious AST: internal representation\n
  62. mysterious AST: internal representation\n
  63. mysterious AST: internal representation\n
  64. mysterious AST: internal representation\n
  65. mysterious AST: internal representation\n
  66. mysterious AST: internal representation\n
  67. demo Tiger compiler\n
  68. \n
  69. feedback loop\n
  70. feedback loop\n
  71. feedback loop\n
  72. feedback loop\n
  73. feedback loop\n
  74. many language processors\n\nbuild larger language processors from smaller components\n\ntraditional compiler: (scanner +) parser + checker + code generator\n
  75. another dimension of term software language\n\nlanguage processors are software\n\nlanguage processors define language\n\nwhat&amp;#x2019;s accepted by a compiler, is a valid program\n
  76. \n
  77. how can we build such pieces of software\n\nsomehow special\n
  78. software languages to implement software languages\n\nsoftware languages to define software languages\n
  79. meta-tooling\n
  80. meta-tooling\n
  81. meta-tooling\n
  82. \n
  83. meta-tooling\n
  84. \n
  85. \n
  86. \n
  87. \n
  88. enrol at blackboard\n\notherwise: no assignments, no grades\n\nassignments are individual\n
  89. give the chance to share\n\nmake an appointment\n
  90. untraditional\n\nmake you fit for the lab\n
  91. \n
  92. book alone won&amp;#x2019;t help\n\nread scientific papers\n\nsee other slides, share\n
  93. round-up on every lecture\n\nwhat to take with you\n\ncheck yourself, pre- and post-paration\n
  94. \n
  95. \n
  96. \n
  97. \n
  98. something just interesting\n\nsomething you should read to manage the lab/course\n
  99. something just interesting\n\nsomething you should read to manage the lab/course\n
  100. something just interesting\n\nsomething you should read to manage the lab/course\n
  101. warning: next lecture theory\n\nget used to Eclipse and MiniJava anyway\n
  102. round-up on every lecture\n\nwhat to take with you\n\ncheck yourself, pre- and post-paration\n
  103. \n
  104. \n
  105. \n