SlideShare a Scribd company logo
Pure and Declarative
Syntax Definition:
Paradise Lost and Regained
Lennart Kats Eelco Visser Guido Wachsmuth
Delft University of Technology
Pure and Declarative Syntax Definition: Paradise Lost and Regained
PARADISE
PARADISE LOST
PARADISE
REGAINED
PARADISE DENIED
PARADISE
WORDS
TREES
GRAMMARS
LANGUAGE
ENGINEERS
LANGUAGES
GRAMMARS
NATURAL
PURE
BEAUTIFUL
SOFTWARE
ENGINEERS
LANGUAGE
SOFTWARE
NATURAL
NOT
PURE
NOT
BEAUTIFUL
NOT
SYNTAX
DEFINITIONS
NATURAL
PURE
BEAUTIFUL
THE FALL
PARSER
DEFINITIONS
PARADISE LOST
PAIN
SWEAT
NATURAL
NOT
PURE
NOT
BEAUTIFUL
NOT
THE PLAGUES
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
GRAMMAR
CLASSES
DISAMBIGUATION
LEXICAL SYNTAX
TREE
CONSTRUCTION
EVOLUTION
COMPOSITION
RESTRICTION
TO PARSERS
Pure and Declarative Syntax Definition: Paradise Lost and Regained
PARADISE
WORDS WERE MADETHROUGH
GRAMMARS
GRAMMARS
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Digit ➝ “1”
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Digit ➝ “1”
production rules
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Digit ➝ “1”
terminal symbols
production rules
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Digit ➝ “1”
nonterminal symbols
terminal symbols
production rules
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Digit ➝ “1”
nonterminal symbols
terminal symbols
production rules
start symbol
WORDS
Num
Num
Digit Num
Num ➝ Digit Num
Num
Digit Num
Digit Digit
Num ➝ Digit Num
Num ➝ Digit
Num
Digit Num
Digit Digit
Digit 0
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Num
Digit Num
Digit Digit
Digit 0
1 0
Num ➝ Digit Num
Num ➝ Digit
Digit ➝ “0”
Digit ➝ “1”
SENTENCES
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
production rules
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
terminal symbols
production rules
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
nonterminal symbols
terminal symbols
production rules
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
nonterminal symbols
terminal symbols
production rules
start symbol
Exp
Exp
Exp + Exp
Exp ➝ Exp “+” Exp
Exp
Exp + Exp
Exp * Exp + Exp
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp
Exp + Exp
Exp * Exp + Exp
3 * Exp + Exp
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
Exp
Exp + Exp
Exp * Exp + Exp
3 * Exp + Exp
3 * 7 + Exp
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
Exp ➝ Num
Exp
Exp + Exp
Exp * Exp + Exp
3 * Exp + Exp
3 * 7 + Exp
3 * 7 + 21
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
Exp ➝ Num
Exp ➝ Num
THEY MADE LANGUAGES
BY MAKING GRAMMARS
GRAMMAR
LANGUAGE
TRUTH
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
Exp “+” Exp ➝ Exp
Exp “*” Exp ➝ Exp
Num ➝ Exp
productive reductive
3 * 7 + 21
3 * 7 + 21
3 * 7 + Exp
Num ➝ Exp
3 * 7 + 21
3 * 7 + Exp
3 * Exp + Exp
Num ➝ Exp
Num ➝ Exp
3 * 7 + 21
3 * 7 + Exp
3 * Exp + Exp
Exp * Exp + Exp
Num ➝ Exp
Num ➝ Exp
Num ➝ Exp
3 * 7 + 21
3 * 7 + Exp
3 * Exp + Exp
Exp * Exp + Exp
Exp + Exp
Num ➝ Exp
Num ➝ Exp
Num ➝ Exp
Exp “*” Exp ➝ Exp
3 * 7 + 21
3 * 7 + Exp
3 * Exp + Exp
Exp * Exp + Exp
Exp + Exp
Exp
Num ➝ Exp
Num ➝ Exp
Num ➝ Exp
Exp “*” Exp ➝ Exp
Exp “+” Exp ➝ Exp
THEYTURNED WORDS INTO
TREES
SENTENCES
STRUCTURE
Exp ➝ Exp “+” Exp
Exp ➝ Exp “*” Exp
Exp ➝ Num
Exp “+” Exp ➝ Exp
Exp “*” Exp ➝ Exp
Num ➝ Exp
productive reductive
Exp
Num
Exp
+Exp Exp
Exp
*Exp Exp
tree construction
3 * +7 21
Exp Exp
3 * +7 21
Exp
Exp
Num
Exp
Exp
Exp
3 * +7 21
Exp
Exp
+Exp Exp
Exp
*Exp Exp
Exp
Exp
Exp
3 * +7 21
Exp
Exp
Exp
+Exp Exp
ONE FORMALISM
THREE READINGS
PURE
DECLARATIVE
BEAUTIFUL
PARADISE LOST
EFFICIENCY
THE FIRST PLAGUE WERE
GRAMMAR CLASSES
context-free grammars
context-free grammars
LL(0)
context-free grammars
LL(1)
LL(0)
context-free grammars
LL(k)
LL(1)
LL(0)
context-free grammars
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(1)
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(k)
LR(1)
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(k)
LR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
Exp “+” Exp ➝ Exp
Exp “*” Exp ➝ Exp
Num ➝ Exp
Term (“+” Term)* ➝ Exp
Fact (“*” Fact)* ➝Term
Num ➝ Fact
paradise grammar classes
Exp
Exp
Exp
3 + +7 21
Exp
Exp
paradise grammar classes
Fact Fact
3 + +7 21
Fact
*
Exp
Term Term Term
*
THE SECOND PLAGUE WAS
DISAMBIGUATION
Exp
Exp
Exp
3 * +7 21
Exp
Exp
Exp
Exp
Exp
3 * +7 21
Exp
Exp
text books
precedence operators associativity
1 ( ), [ ] non-associative
2 new non-associative
3 . left-associative
4 ++, -- non-associative
5 -, +, !, ~, ++, --, (type) right-associative
6 *, /, % left-associative
7 +, - left-associative
… … …
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
unambigous
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
Exp “+” Term ➝ Exp
Term ➝ Exp
Term “*” Fact ➝Term
Fact ➝Term
Num ➝ Fact
grammar classes
FALSE PROPHETS
“a” “b” ➝ A
“a” ➝ A
“a” “b” /
“a” ➝ A
paradise PEGs
L = {ab, a} L = {ab, a}
“a” ➝ A
“a” “b” ➝ A
“a” /
“a” “b” ➝ A
paradise PEGs
L = {ab, a} L = {a}
if c1 then if c2 then s1 else s2
dangling else
“if” E “then” S “else” S /
“if” E “then” S ➝ S
“if” E “then” S /
“if” E “then” S “else” S ➝ S
PEGs
THETHIRD PLAGUE WAS
LEXICAL SYNTAX
morphology & syntax
limited look-ahead
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
scanners
3 * +7 21
3 * +7 21
parsers
3 * +7 21
Exp
Exp
Exp
3 * +7 21
Exp
Exp
array [ ..1 10 ] integerof
x = *1. .10
y :
array [ ..1 10 ] integerof
x = *1. .10
y :
array [ 1. .10 ] integerof
x = *1. .10
y :
THE FOURTH PLAGUE WAS
TREE CONSTRUCTION
Exp
Exp
Exp
3 + +7 21
Exp
Exp
Const
Add
Const
3 7 21
Const
Add
paradise
Const
Add
Const
3 7 21
Const
Add
Fact Fact
3 + +7 21
Fact
*
Exp
Term Term Term
*
grammar classes
expr:
INTEGER { $$ = con($1); }
| expr '+' expr { $$ = opr('+', 2, $1, $3);}
| expr '*' expr { $$ = opr('*', 2, $1, $3);}
;
semantic actions
THE FIFTH PLAGUE WAS
EVOLUTION
Exp “+” Exp ➝ Exp
Exp “*” Exp ➝ Exp
Num ➝ Exp
Exp “+” Term ➝ Exp
Term ➝ Exp
Term “*” Fact ➝Term
Fact ➝Term
Num ➝ Fact
paradise grammar classes
Exp “+” Exp ➝ Exp
Exp “*” Exp ➝ Exp
Num ➝ Exp
Exp “=” Exp ➝ Exp
Exp “<” Exp ➝ Exp
Exp “>” Exp ➝ Exp
CExp “+” Term ➝ CExp
Term ➝ CExp
Term “*” Fact ➝Term
Fact ➝Term
Num ➝ Fact
Exp “=” CExp ➝ Exp
Exp “<” CExp ➝ Exp
Exp “>” CExp ➝ Exp
CExp ➝ Exp
paradise grammar classes
THE SIXTH PLAGUE WAS
COMPOSITION
parsers
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
scanners
public boolean
authenticate(String user, String pw) {
SQL stm = <| SELECT id FROM Users
WHERE name = ${user}
AND password = ${pw} |>;
return executeQuery(stm).size() != 0;
}
THE SEVENTH PLAGUE WAS
RESTRICTION
TO
PARSERS
PRETTY PRINTERS
SENTENCE
GENERATORS
AST ACCESS
IDE SUPPORT
PARADISE
REGAINED
GENERALISED
PARSING
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
paradise SDF
context-free syntax
Exp "+" Exp -> Exp
Exp "*" Exp -> Exp
NUM -> Exp
Exp “+” Exp ➝ Exp
Exp “*” Exp ➝ Exp
Num ➝ Exp
DECLARATIVE
DISAMBIGUATION
context-free grammars
unambigous
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
unambigous
context-free grammars
text books
precedence operators associativity
1 ( ), [ ] non-associative
2 new non-associative
3 . left-associative
4 ++, -- non-associative
5 -, +, !, ~, ++, --, (type) right-associative
6 *, /, % left-associative
7 +, - left-associative
… … …
context-free priorities
Exp "*" Exp -> Exp {left}
> Exp "+" Exp -> Exp {left}
context-free syntax
	
"if" E "then" S -> S {prefer}
"if" E "then" S "else" S -> S
SCANNERLESS
PARSING
morphology & syntax
lexical syntax
	
[0-9]+ -> NUM
[ tn] -> LAYOUT
"//" ~[n]* [n] -> LAYOUT
parser
parser
DECLARATIVE
TREE CONSTRUCTION
Exp
Exp
Exp
3 + +7 21
Exp
Exp
Const
Add
Const
3 7 21
Const
Add
paradise
SDF
context-free syntax
	
Exp "+" Exp -> Exp {cons("Add")}
Exp "*" Exp -> Exp {cons("Mul")}
NUM -> Exp {cons("Const")}
Const
Add
Const
3 7 21
Const
Add
paradise SDF
Add(
Add(
Const("3"),
Const("7")
),
Const("21")
)
SEAMLESS
EVOLUTION
context-free syntax
	
Exp "+" Exp -> Exp {cons("Add")}
Exp "*" Exp -> Exp {cons("Mul")}
NUM -> Exp {cons("Const")}
Exp "=" Exp -> Exp {cons("Eq")}
Exp ">" Exp -> Exp {cons("Gt")}
Exp "<" Exp -> Exp {cons("Lt")}
MODULAR
COMPOSITION
context-free grammars
LR(k)
LR(1)
LALR(1)
SLR
LR(0)
LL(k)
LL(1)
LL(0)
context-free grammars
public boolean
authenticate(String user, String pw) {
SQL stm = <| SELECT id FROM Users
WHERE name = ${user}
AND password = ${pw} |>;
return executeQuery(stm).size() != 0;
}
module Java-SQL
imports
Java SQL
exports
context-free syntax
"<|" Query "|>" -> Exp {cons("ToSQL")}
"${" Exp "}" -> SqlExp {cons("FromSQL")}
BEYOND
PARSERS
PRETTY PRINTERS
SENTENCE
GENERATORS
AST ACCESS
IDE SUPPORT
PARADISE DENIED
still around
still around
still have to use it
still have to learn
LL, LR, SLR, LALR
still think using
parser generators is hard
modern parser generator
modern parser generator
PARADISE OPEN
Pure and Declarative Syntax Definition: Paradise Lost and Regained
slides title author copyright
1, 2, 42 Jeremiah lamenting Rembrandt public domain
3, 7, 14-16, 19-21,
23-25, 31-33, 43,
88-92
Adam and Eve in the Garden of Eden
Wenzel Peter
photo: Jonathan Linczak
some rights reserved
4, 28, 93 Expulsion from the Garden of Eden Thomas Cole public domain
5, 138, 175 Livres d'heures des Étienne Chevalier Jean Fouquet public domain
6, 167 The Adoration of the Golden Calf Nicolas Poussin public domain
8, 51, 112, 131, 150 Thesaurus Enoch Lau some rights reserved
9, 79, 81 The BurmisTree Monsieur david some rights reserved
10, 13, 22, 45, 69 Latin Grammar Anthony Nelzin some rights reserved
11, 17, 176 The Garden of Earthly Delights (centre panel) Hieronymus Bosch public domain
12, 18, 68 Programming language textbooks K.lee public domain
26 The Fall of Man Jacob Jordaens public domain
27 Illustration d'après un Bison naturalisé d'Eulalie en Margeride F Lamiot some rights reserved
29 Can't Concentrate Sasha Wolff some rights reserved
30 Cold Sweat EricTastad some rights reserved
34 The Fifth Plague of Egypt Joseph M.W.Turner public domain
36 Managed Destruction Harley Kingston some rights reserved
slides title author copyright
37 Book Scanner Ben Woosley some rights reserved
38 Dead trees in the clay pan of the Deadvlei Harald Süpfle some rights reserved
39 Charles Robert Darwin John Maler Collier public domain
40 Black Lego Wallpaper monohex some rights reserved
41 Four - Nova Prospekt (Restricted) |Digressive| some rights reserved
44, 110, 148 Noam Chomsky Fellowsisters some rights reserved
57, 80, 115, 129, 151 Minuscule 798 f.41v - f.42r unknown public domain
70 Latin Bible
Gerard Brils
photo:Adrian Pingstone
public domain
71 Themis and Aegeus
Kodros Painter
photo: Bibi Saint-Pol
public domain
94 IBM System/3 Jonathunder some rights reserved
104 Destruction of the Beast and the False Prophet Benjamin West public domain
168 lex & yacc O’Reilly all rights reserved
169 flex & bison O’Reilly all rights reserved
170-172 Students TU Delft Media Services all rights reserved
173 ANTLR The Pragmatic Bookshelf all rights reserved
174 Xtext all rights reserved

More Related Content

PDF
Syntax Definition
PDF
Formal Grammars
PDF
Syntax Definition
PDF
Declarative Syntax Definition - Grammars and Trees
PDF
LL Parsing
PDF
Declarative Semantics Definition - Term Rewriting
PDF
Declarative Semantics Definition - Static Analysis and Error Checking
PDF
Term Rewriting
Syntax Definition
Formal Grammars
Syntax Definition
Declarative Syntax Definition - Grammars and Trees
LL Parsing
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Static Analysis and Error Checking
Term Rewriting

What's hot (20)

PDF
Lexical Analysis
PDF
Static Analysis
PDF
Declare Your Language: Syntactic (Editor) Services
PDF
Compiler Components and their Generators - Traditional Parsing Algorithms
KEY
Compiler Components and their Generators - Lexical Analysis
PDF
Introduction - Imperative and Object-Oriented Languages
PDF
Static name resolution
PDF
Dynamic Semantics
PDF
Ch04
PPTX
Regular expression examples
PDF
Declare Your Language: Type Checking
PDF
Declare Your Language: Transformation by Strategic Term Rewriting
PDF
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
PDF
Ch03
PDF
Declare Your Language: Name Resolution
PDF
CS4200 2019 | Lecture 5 | Transformation by Term Rewriting
PDF
Compiler Construction | Lecture 8 | Type Constraints
ODP
Regex Presentation
PDF
Type analysis
PDF
Dynamic Semantics Specification and Interpreter Generation
Lexical Analysis
Static Analysis
Declare Your Language: Syntactic (Editor) Services
Compiler Components and their Generators - Traditional Parsing Algorithms
Compiler Components and their Generators - Lexical Analysis
Introduction - Imperative and Object-Oriented Languages
Static name resolution
Dynamic Semantics
Ch04
Regular expression examples
Declare Your Language: Type Checking
Declare Your Language: Transformation by Strategic Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
Ch03
Declare Your Language: Name Resolution
CS4200 2019 | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 8 | Type Constraints
Regex Presentation
Type analysis
Dynamic Semantics Specification and Interpreter Generation
Ad

Viewers also liked (6)

PDF
Register Allocation
PDF
Language
PDF
Software languages
PDF
Programming languages
PDF
LR Parsing
PDF
Garbage Collection
Register Allocation
Language
Software languages
Programming languages
LR Parsing
Garbage Collection
Ad

Similar to Pure and Declarative Syntax Definition: Paradise Lost and Regained (20)

KEY
Declarative Syntax Definition - Pretty Printing
PDF
The Magnificent Seven
PPT
Scala presentation by Aleksandar Prokopec
PDF
Abstract machines for great good
PDF
Introduction To Lisp
PDF
Introduction to Scala
PPTX
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
PPTX
Open course(programming languages) 20150225
KEY
groovy & grails - lecture 3
PDF
Feel of Kotlin (Berlin JUG 16 Apr 2015)
PDF
Lambda? You Keep Using that Letter
PDF
Clojure for Java developers - Stockholm
PDF
Scope Graphs: A fresh look at name binding in programming languages
PDF
Macros and reflection in scala 2.10
PDF
Lambda? You Keep Using that Letter
PDF
Perl 6 in Context
PDF
Regexp secrets
PDF
Scala Parallel Collections
PPTX
Quantifiers and its Types
PPT
Compiler design lessons notes from Semester
Declarative Syntax Definition - Pretty Printing
The Magnificent Seven
Scala presentation by Aleksandar Prokopec
Abstract machines for great good
Introduction To Lisp
Introduction to Scala
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
Open course(programming languages) 20150225
groovy & grails - lecture 3
Feel of Kotlin (Berlin JUG 16 Apr 2015)
Lambda? You Keep Using that Letter
Clojure for Java developers - Stockholm
Scope Graphs: A fresh look at name binding in programming languages
Macros and reflection in scala 2.10
Lambda? You Keep Using that Letter
Perl 6 in Context
Regexp secrets
Scala Parallel Collections
Quantifiers and its Types
Compiler design lessons notes from Semester

More from Guido Wachsmuth (8)

PDF
Domain-Specific Type Systems
PDF
Compiler Components and their Generators - LR Parsing
KEY
Compiling Imperative and Object-Oriented Languages - Garbage Collection
KEY
Compiling Imperative and Object-Oriented Languages - Register Allocation
KEY
Compiling Imperative and Object-Oriented Languages - Dataflow Analysis
KEY
Compiling Imperative and Object-Oriented Languages - Activation Records
PDF
Declarative Semantics Definition - Code Generation
PDF
Software Languages
Domain-Specific Type Systems
Compiler Components and their Generators - LR Parsing
Compiling Imperative and Object-Oriented Languages - Garbage Collection
Compiling Imperative and Object-Oriented Languages - Register Allocation
Compiling Imperative and Object-Oriented Languages - Dataflow Analysis
Compiling Imperative and Object-Oriented Languages - Activation Records
Declarative Semantics Definition - Code Generation
Software Languages

Recently uploaded (20)

PPTX
Pharma ospi slides which help in ospi learning
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Cell Structure & Organelles in detailed.
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Lesson notes of climatology university.
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Insiders guide to clinical Medicine.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
RMMM.pdf make it easy to upload and study
PPTX
GDM (1) (1).pptx small presentation for students
PDF
01-Introduction-to-Information-Management.pdf
Pharma ospi slides which help in ospi learning
2.FourierTransform-ShortQuestionswithAnswers.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Cell Structure & Organelles in detailed.
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Lesson notes of climatology university.
Microbial disease of the cardiovascular and lymphatic systems
Insiders guide to clinical Medicine.pdf
Computing-Curriculum for Schools in Ghana
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Complications of Minimal Access Surgery at WLH
Final Presentation General Medicine 03-08-2024.pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
RMMM.pdf make it easy to upload and study
GDM (1) (1).pptx small presentation for students
01-Introduction-to-Information-Management.pdf

Pure and Declarative Syntax Definition: Paradise Lost and Regained