SlideShare a Scribd company logo
IN4303 2016-2017
Compiler Construction
Syntax Definition
language specification
Guido Wachsmuth, Eelco Visser
Syntax Definition 2
3 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
parser
Syntax Definition 3
3 * +7 21
parser
Const
Mul
Const
213 7
Const
Add
Syntax Definition 4
3 * +7 21
parser
Add(
Mul(
Const(3)
, Const(7)
)
, Const(21)
)
Syntax Definition
Stratego
NaBL
TS
SDF3
ESV
editor
SPT
tests
5
syntax definition
concrete syntax
abstract syntax
static semantics
name binding
type system
dynamic semantics
translation
interpretation
Syntax Definition 6
syntax definition
regular expressions
Backus-Naur Form
Extended BNF
SDF3
lexical syntax
context-free syntax
abstract syntax
disambiguation
Spoofax
architecture
testing
editors
syntax processing
pretty-printing
discovery
more editor services
Syntax Definition 7
syntax definition
Syntax Definition 8
software languages
Syntax Definition 9
finite models
Syntax Definition 10
Philosophy
Linguistics
lexicology
grammar
morphology
syntax
phonology
semantics
Interdisciplinary
Computer Science
syntax
semantics
Syntax Definition 11
lexical syntax
words made from letters
irrelevant structure
literals 42 "foo" true
identifiers x foo
keywords if while
operators + *
whitespace // FIXME
regular expressions

context-free syntax
sentences made from words
relevant structure
context-free grammars
Backus-Naur Form
Extended Backus-Naur Form
computer science
syntax
Syntax Definition 12
syntax definition
regular expressions
Syntax Definition 13
basics
strings "nil"
character classes [a-zA-Z]
combinators
concatenation E1 E2
option E?
repetition (zero or more) E*
repetition (one or more) E+
alternative E1 | E2
regular expressions
Syntax Definition 14
/* 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
Syntax Definition 15
An identifier is a sequence of letters,
digits, and under-scores, starting with a
letter. Uppercase letters are distinguished
from lowercase.
Tiger
lexical syntax
Syntax Definition 15
An identifier is a sequence of letters,
digits, and under-scores, starting with a
letter. Uppercase letters are distinguished
from lowercase.
[a-zA-Z][a-zA-Z0-9_]*
Tiger
lexical syntax
Syntax Definition 15
An identifier is a sequence of letters,
digits, and under-scores, starting with a
letter. Uppercase letters are distinguished
from lowercase.
[a-zA-Z][a-zA-Z0-9_]*
A comment may appear between any two
tokens. Comments start with /* and end
with */ and may be nested.
Tiger
lexical syntax
Syntax Definition 15
An identifier is a sequence of letters,
digits, and under-scores, starting with a
letter. Uppercase letters are distinguished
from lowercase.
[a-zA-Z][a-zA-Z0-9_]*
A comment may appear between any two
tokens. Comments start with /* and end
with */ and may be nested.
Tiger
lexical syntax
Pumping Lemma
Syntax Definition 16
syntax definition
Backus-Naur Form
Syntax Definition 17
basics
strings “nil”
symbols <s>
combinators
concatenation E1 E2
production <s> ::= E1 | … | En
Backus-Naur Form
Syntax Definition 18
<exp> ::= <num>
| <exp> “+” <exp>
| <exp> “-“ <exp>
| <exp> “*” <exp>
| <exp> “/“ <exp>
| “(“ <exp> “)”
| <id> “(“ <args> “)”
<args> ::=
| <argp>
<argp> ::= <exp>
| <argp> “,” <exp>
Syntax Definition 19
<exp> ::= <num>
| <exp> “+” <exp>
| <exp> “-“ <exp>
| <exp> “*” <exp>
| <exp> “/“ <exp>
| “(“ <exp> “)”
Tiger
context-free syntax in BNF
Syntax Definition 20
syntax definition
Extended Backus-Naur Form
Syntax Definition 21
basics
strings "nil"
symbols s
combinators
concatenation E1,E2
option [E]
repetition (zero or more) {E}
alternative E1 | E2
production s = E1 | … | En ;
Extended Backus-Naur Form
Syntax Definition 22
<exp> ::= <num>
| <exp> “+” <exp>
| <exp> “-“ <exp>
| <exp> “*” <exp>
| <exp> “/“ <exp>
| “(“ <exp> “)”
| <id> “(“ [<args>] “)”
<args> ::= <exp> {“,” <exp>}
Syntax Definition 23
exp = num
| exp , "+" , exp
| exp , "-" , exp
| exp , "*" , exp
| exp , "/" , exp
| "(" , exp , ")" ;
Tiger
context-free syntax
Syntax Definition 24
SDF3
Syntax Definition Formalism 3
Syntax Definition 25
SDF3
lexical syntax
Syntax Definition 26
basics
strings "nil"
character classes [a-zA-Z]
complements ~[a-zA-Z]
sorts S
combinators
concatenation E1 E2
option E?
repetition (zero or more) E*
with separator {E s}*
repetition (one or more) E+
with separator {E s}+
alternative E1 | E2
production S = E
SDF3
lexical syntax
Syntax Definition 27
module Literals
lexical syntax
ID = [a-zA-Z] [a-zA-Z0-9_]*
INT = "-"? [0-9]+
STRING = """ StringChar* """
StringChar = ~["n]
StringChar = """
StringChar = ""
Tiger
lexical syntax
Syntax Definition 28
module Whitespace
lexical syntax
LAYOUT = [ tnr]
LAYOUT = "//" ~[nr]* NewLineEOF
NewLineEOF = [nr] | EOF
EOF =
LAYOUT = "/*" CommentPart* "*/"
CommentPart = ~[*]
CommentPart = [*]
Tiger
lexical syntax
Syntax Definition 29
SDF3
context-free syntax
Syntax Definition 30
basics
strings "nil"
sorts S
combinators
concatenation E1 E2
option E?
repetition (zero or more) E*
with separator {E s}*
repetition (one or more) E+
with separator {E s}+
production S = E
SDF3
context-free syntax
Syntax Definition 31
<exp> ::= <num>
<exp> ::= <exp> “+” <exp>
<exp> ::= <exp> “-“ <exp>
<exp> ::= <exp> “*” <exp>
<exp> ::= <exp> “/“ <exp>
<exp> ::= “(“ <exp> “)”
<exp> ::= <id> “(“ {<exp> “,”}* “)”
Syntax Definition 32
module Expressions
context-free syntax
Exp = LValue
LValue = ID
LValue = LValue "." ID
LValue = LValue "[" Exp "]"
Exp = "nil"
Exp = INT
Exp = STRING
Exp = ID "(" {Exp ","}* ")"
Exp = TypeId "{" {InitField ","}* "}"
Exp = TypeId "[" Exp "]" "of" Exp
InitField = ID "=" Exp
Tiger
context-free syntax
x
x.f1
x[i]
nil
42
"foo"
sqr(x)
aty [x] of 42
rty {f1 = "foo", f2 = 42}
Syntax Definition 33
context-free syntax
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 = Exp ">=" Exp
Exp = Exp "<=" Exp
Exp = Exp "&" Exp
Exp = Exp "|" Exp
Tiger
context-free syntax
Syntax Definition 34
SDF3
abstract syntax
Syntax Definition 35
tree
leaf
parent node
children are trees
term
constant
constructor
arguments are terms
ATerms
trees - terms
Const
Mul
Const
213 7
Const
Add
Add(
Mul(
Const(3)
, Const(7)
)
, Const(21)
)
Syntax Definition 36
context-free syntax
Exp.Add = Exp "+" Exp
Exp.Sub = Exp "-" Exp
Exp.Mul = Exp "*" Exp
Exp.Div = Exp "/" Exp
Exp.Eq = Exp "=" Exp
Exp.Neq = Exp "<>" Exp
Exp.Gt = Exp ">" Exp
Exp.Lt = Exp "<" Exp
Exp.Gte = Exp ">=" Exp
Exp.Lte = Exp "<=" Exp
Exp.And = Exp "&" Exp
Exp.Or = Exp "|" Exp
Tiger
context-free syntax
Const
Mul
Const
213 7
Const
Add
Add(
Mul(
Const(3)
, Const(7)
)
, Const(21)
)
Syntax Definition 37
Tiger*
abstract syntax : algebraic signature
signature
constructors
Uminus : Exp -> Exp
Power : Exp * Exp -> Exp
Times : Exp * Exp -> Exp
Divide : Exp * Exp -> Exp
Plus : Exp * Exp -> Exp
Minus : Exp * Exp -> Exp
CPlus : Exp * Exp -> Exp
CMinus : Exp * Exp -> Exp
Eq : Exp * Exp -> Exp
Neq : Exp * Exp -> Exp
Gt : Exp * Exp -> Exp
Lt : Exp * Exp -> Exp
Geq : Exp * Exp -> Exp
Leq : Exp * Exp -> Exp
True : Exp
False : Exp
And : Exp * Exp -> Exp
Or : Exp * Exp -> Exp
Syntax Definition 38
SDF3
disambiguation
Syntax Definition 39
lexical syntax
ID = [a-zA-Z] [a-zA-Z0-9_]*
ID = "nil" {reject}
INT = "-"? [0-9]+
lexical restrictions
ID -/- [a-zA-Z0-9_]
INT -/- [0-9]
Tiger
lexical disambiguation
Syntax Definition 40
lexical syntax
LAYOUT = "//" ~[nr]* NewLineEOF
NewLineEOF = [nr] | EOF
EOF =
LAYOUT = "/*" CommentPart* "*/"
CommentPart = ~[*]
CommentPart = "*"
lexical restrictions
EOF -/- ~[] "*" -/- [/]
Tiger
lexical disambiguation
Syntax Definition 41
lexical syntax
LAYOUT = "//" ~[nr]* NewLineEOF
NewLineEOF = [nr] | EOF
EOF =
LAYOUT = "/*" CommentPart* "*/"
CommentPart = ~[*]
CommentPart = CommentEndChar
CommentEndChar = "*"
lexical restrictions
EOF -/- ~[] CommentEndChar -/- [/]
Tiger
lexical disambiguation
Syntax Definition 42
lexical syntax
LAYOUT = [ tnr]
LAYOUT = "//" ~[nr]* NewLineEOF
LAYOUT = "/*" CommentPart* "*/"
context-free restrictions
LAYOUT? -/- [ tnr]
LAYOUT? -/- [/].[/]
LAYOUT? -/- [/].[*]
Tiger
context-free disambiguation
Syntax Definition 43
context-free syntax
Exp.Add = Exp "+" Exp
Exp.Sub = Exp "-" Exp
Exp.Mul = Exp "*" Exp
Exp.Div = Exp "/" Exp
Exp.Eq = Exp "=" Exp
Exp.Neq = Exp "<>" Exp
Exp.Gt = Exp ">" Exp
Exp.Lt = Exp "<" Exp
Exp.Gte = Exp ">=" Exp
Exp.Lte = Exp "<=" Exp
Exp.And = Exp "&" Exp
Exp.Or = Exp "|" Exp
Tiger
context-free syntax
Syntax Definition 44
context-free syntax
Exp.Add = Exp "+" Exp {left}
Exp.Sub = Exp "-" Exp {left}
Exp.Mul = Exp "*" Exp {left}
Exp.Div = Exp "/" Exp {left}
Exp.Eq = Exp "=" Exp {non-assoc}
Exp.Neq = Exp "<>" Exp {non-assoc}
Exp.Gt = Exp ">" Exp {non-assoc}
Exp.Lt = Exp "<" Exp {non-assoc}
Exp.Gte = Exp ">=" Exp {non-assoc}
Exp.Lte = Exp "<=" Exp {non-assoc}
Exp.And = Exp "&" Exp {left}
Exp.Or = Exp "|" Exp {left}
context-free priorities
{ left:
Exp.Mul
Exp.Div
} > { left:
Exp.Add
Exp.Sub
} > { non-assoc:
Exp.Eq
Exp.Neq
Exp.Gt
Exp.Lt
Exp.Gte
Exp.Lte
} > Exp.And
> Exp.Or
Tiger
context-free disambiguation
Syntax Definition 45
Spoofax
architecture
Syntax Definition 46
source
code
Syntax Definition 46
source
code
parse
Syntax Definition 46
source
code
parse
check
Syntax Definition 46
source
code
parse
check
Syntax Definition 46
source
code
parse generate
machine
code
check
Syntax Definition
Data
Programs
Language
47
Eclipse
Fact.java
42
Java
Java
int
Syntax Definition 48
language
definition
parse generate
language
implementation
check
Syntax Definition
syntax
definition
49
parse generate
parse
table
check
generic
parser
Syntax Definition
Data
Programs
Language
50
Java
Fact.java
42
Language Spoofax
SDF3
Java
int
SDF3
Syntax Definition 51
context-free syntax
Grammar.Lexical = <
lexical syntax
<Production*>
>
Grammar.Contextfree = <
context-free syntax
<Production*>
>
Production.SdfProduction = <<Symbol> = <Symbol*> <Attributes>>
Production.SdfProductionWithCons = <<SortCons> = <Symbol*> <Attributes>>
SortCons.SortCons = <<Symbol>.<Constructor>>
context-free syntax
SDF3 in SDF3
Syntax Definition
Stratego
NaBL
TS
SDF3
ESV
editor
SPT
tests
52
syntax definition
concrete syntax
abstract syntax
static semantics
name binding
type system
dynamic semantics
translation
interpretation
Syntax Definition
Stratego
NaBL
TS
SDF3
ESV
editor
SPT
tests
53
syntax definition
concrete syntax
abstract syntax
static semantics
name binding
type system
dynamic semantics
translation
interpretation
Syntax Definition 54
Spoofax
testing
Syntax Definition 55
module example-suite
language Tiger
start symbol Start
test name
[[...]]
parse succeeds
test another name
[[...]]
parse fails
test suites
Syntax Definition 56
test cases
syntax
Language
valid program
test valid program
[[...]]
parse succeeds
Syntax Definition 57
test cases
syntax
Language
test invalid program
[[...]]
parse fails
invalid program
Syntax Definition 58
module syntax/identifiers
language Tiger start symbol Id
test single lower case [[x]] parse succeeds
test single upper case [[X]] parse succeeds
test single digit [[1]] parse fails
test single lc digit [[x1]] parse succeeds
test single digit lc [[1x]] parse fails
test single uc digit [[X1]] parse succeeds
test single digit uc [[1X]] parse fails
test double digit [[11]] parse fails
test cases
syntax
Syntax Definition
Language
59
test cases
syntax
Syntax Definition 60
module precedence
language Tiger start symbol Exp
test parentheses
[[(42)]] parse to [[42]]
test left-associative addition
[[21 + 14 + 7]] parse to [[(21 + 14) + 7]]
test precedence multiplication
[[3 * 7 + 21]] parse to [[(3 * 7) + 21]]
test cases
ambiguities
Note : this does not actually
work in Tiger, since () is a
sequencing construct; but
works fine in Mini-Java
Syntax Definition 61
module precedence
language Tiger start symbol Exp
test plus/times priority [[
x + 4 * 5
]] parse to Plus(Var("x"), Times(Int("4"), Int("5")))
test plus/times sequence [[
(x + 4) * 5
]] parse to Times(
Seq([Plus(Var("x"), Int("4"))])
, Int("5")
)
test cases
ambiguities
Syntax Definition 62
Spoofax
editors
Syntax Definition
syntax
definition
63
parse generate
parse
table
check
generic
parser
Syntax Definition 64
source
code
parse generate
machine
code
check
Syntax Definition 65
module Tiger.main imports ...
language General properties
name: Tiger
id: org.metaborg.cube.tiger
extends: Root
description: "Spoofax-generated editor for the Tiger language"
url: http://metaborg.org
extensions: tig
table: include/Tiger.tbl
start symbols: Start
provider: include/Tiger.ctree
observer: editor-analyze (multifile)
on save: editor-save
editor specification
Syntax Definition 66
syntax processing
Syntax Definition 67
3 * +7 213 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
scanner parser
language processors
scanners & parsers
Syntax Definition 68
language processors
scannerless parsers
3 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
parser
Syntax Definition 69
syntax processing
pretty-printing
Syntax Definition 70
language processors
compilation by transformation
backend
frontend
parse desugar analyse normalise
generate optimise format
Syntax Definition 71
language processors
pretty-printers
3 * +7 21
3 * +7 21
Exp ExpExp
Exp
Exp
pretty-
printer
Syntax Definition 72
from ASTs to text
keywords
layout: spaces, line breaks,
indentation
specification
partially defined in grammar
missing layout
language processors
pretty-printing
Syntax Definition 73
SDF3
production rules
context-free syntax
Exp.Nil = "nil"
Exp.IntC = INT
Exp.StringC = STRING
Exp.Call = ID "(" {Exp ","}* ")"
Exp.ArrayI = TypeId "[" Exp "]" "of" Exp
Exp.RecordI = TypeId "{" {InitField ","}* "}"
InitField.FieldI = ID "=" Exp
Syntax Definition 74
SDF3
templates
context-free syntax
Exp.Nil = <nil>
Exp.IntC = INT
Exp.StringC = STRING
Exp.Call = <<ID> ( <{Exp ","}*> )>
Exp.ArrayI = <<TypeId> [ <Exp> ] of <Exp>>
Exp.RecordI = <<TypeId> { <{InitField ","}*> }>
InitField.FieldI = <<ID> = <Exp>>
Syntax Definition 75
SDF3
formatted templates
context-free syntax
Exp.Nil = <nil>
Exp.IntC = INT
Exp.StringC = STRING
Exp.Call = <<ID>(<{Exp ", "}*>)>
Exp.ArrayI = <<TypeId>[<Exp>] of <Exp>>
Exp.RecordI = <
<TypeId> {
<{InitField ",n"}*>
}>
InitField.FieldI = <<ID> = <Exp>>
Syntax Definition 76
box layout
basic boxes
_1
“foo”
KW [ “foo” ]
Syntax Definition 77
box layout
horizontal boxes
B B B
H hs=x [ ]B B Bhs=x
Syntax Definition 78
box layout
vertical boxes
V hs=x is=i [ ]B B Bvs=y is=i
B
B
B
Syntax Definition 79
syntax processing
discovery
Syntax Definition 80
discovery
syntactic code completion
Syntax Definition 81
SDF3
formatted templates
context-free syntax
Exp.Nil = <nil>
Exp.IntC = INT
Exp.StringC = STRING
Exp.Call = <<ID>(<{Exp ", "}*>)>
Exp.ArrayI = <<TypeId>[<Exp>] of <Exp>>
Exp.RecordI = <
<TypeId> {
<{InitField ",n"}*>
}>
InitField.FieldI = <<ID> = <Exp>>
Syntax Definition 82
SDF3
generated completion templates
module src-gen/completions/Expressions-esv
completions
completion template Exp : "nil" =
"nil"
completion template Exp : "ID()" =
<ID:ID> "(" <:Exp> ")"
completion template Exp : "TypeId[Exp] of Exp" =
<TypeId:TypeId> "[" <Exp:Exp> "] of " <Exp:Exp>
completion template Exp : "TypeId { }" =
<TypeId:TypeId> " {nt" (cursor) "n}" (blank)
completion template InitField : "ID = Exp" =
<ID:ID> " = " <Exp:Exp>
Syntax Definition 83
SDF3
improved templates
context-free syntax
Exp.Nil = <nil>
Exp.IntC = INT
Exp.StringC = STRING
Exp.Call = <<ID; text="m">(<{Exp ", "}*>)>
Exp.ArrayI = <<TypeId; text="type">[<Exp; text="size">] of <Exp; text="value">>
Exp.RecordI = <
<TypeId; text="type"> {
<{InitField ",n"}*>
}>
InitField.FieldI = <<ID; text="var"> = <Exp; text="value">>
Syntax Definition 84
syntax processing
more editor services
Syntax Definition 85
editor servicesThe Spoofax Language Workbench
Syntax Definition 86
Spoofax
generated highlighting rules
module libspoofax/color/default
imports
libspoofax/color/colors
colorer // Default, token-based highlighting
keyword : 127 0 85 bold
identifier : default
string : blue
number : darkgreen
var : 139 69 19 italic
operator : 0 0 128
layout : 63 127 95 italic
Syntax Definition 87
Spoofax
customised highlighting rules
module Tiger-Colorer
imports Tiger-Colorer.generated
colorer TU Delft colours
TUDlavender = 123 160 201
colorer token-based highlighting
layout : TUDlavender
StrConst : darkgreen
TypeId : blue
Syntax Definition 88
Except where otherwise noted, this work is licensed under
Syntax Definition 89
attribution
slide title author license
1 The Pine, Saint Tropez Paul Signac public domain
2-4, 43, 45, 46, 59, 60, 63,
64, 66, 67
PICOL icons Melih Bilgil CC BY 3.0
8 Programming language textbooks K.lee public domain
9 Latin Grammar Anthony Nelzin
14, 15, 18, 21 Tiger Bernard Landgraf CC BY-SA 3.0

More Related Content

What's hot

Declare Your Language: Syntactic (Editor) Services
Declare Your Language: Syntactic (Editor) ServicesDeclare Your Language: Syntactic (Editor) Services
Declare Your Language: Syntactic (Editor) Services
Eelco Visser
 
Term Rewriting
Term RewritingTerm Rewriting
Term Rewriting
Eelco Visser
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term Rewriting
Guido 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 Analysis
Guido 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 Algorithms
Guido Wachsmuth
 
Dynamic Semantics
Dynamic SemanticsDynamic Semantics
Dynamic Semantics
Eelco Visser
 
Static name resolution
Static name resolutionStatic name resolution
Static name resolution
Eelco Visser
 
Introduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesIntroduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented Languages
Guido Wachsmuth
 
Declare Your Language: Type Checking
Declare Your Language: Type CheckingDeclare Your Language: Type Checking
Declare Your Language: Type Checking
Eelco Visser
 
Regular expression examples
Regular expression examplesRegular expression examples
Regular expression examples
NetProtocol Xpert
 
Dynamic Semantics Specification and Interpreter Generation
Dynamic Semantics Specification and Interpreter GenerationDynamic Semantics Specification and Interpreter Generation
Dynamic Semantics Specification and Interpreter Generation
Eelco Visser
 
Ch04
Ch04Ch04
Ch04
Hankyo
 
Type analysis
Type analysisType analysis
Type analysis
Eelco Visser
 
Regex Presentation
Regex PresentationRegex Presentation
Regex Presentationarnolambert
 
Ch03
Ch03Ch03
Ch03
Hankyo
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
Mahzad Zahedi
 
Perl6 signatures
Perl6 signaturesPerl6 signatures
Perl6 signatures
Simon Proctor
 
1 functions
1 functions1 functions
1 functions
Tzenma
 
Parsing in Compiler Design
Parsing in Compiler DesignParsing in Compiler Design
Parsing in Compiler Design
Akhil Kaushik
 
5 top-down-parsers
5  top-down-parsers 5  top-down-parsers
5 top-down-parsers
Saeed Parsa
 

What's hot (20)

Declare Your Language: Syntactic (Editor) Services
Declare Your Language: Syntactic (Editor) ServicesDeclare Your Language: Syntactic (Editor) Services
Declare Your Language: Syntactic (Editor) Services
 
Term Rewriting
Term RewritingTerm Rewriting
Term Rewriting
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term Rewriting
 
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
 
Dynamic Semantics
Dynamic SemanticsDynamic Semantics
Dynamic Semantics
 
Static name resolution
Static name resolutionStatic name resolution
Static name resolution
 
Introduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesIntroduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented Languages
 
Declare Your Language: Type Checking
Declare Your Language: Type CheckingDeclare Your Language: Type Checking
Declare Your Language: Type Checking
 
Regular expression examples
Regular expression examplesRegular expression examples
Regular expression examples
 
Dynamic Semantics Specification and Interpreter Generation
Dynamic Semantics Specification and Interpreter GenerationDynamic Semantics Specification and Interpreter Generation
Dynamic Semantics Specification and Interpreter Generation
 
Ch04
Ch04Ch04
Ch04
 
Type analysis
Type analysisType analysis
Type analysis
 
Regex Presentation
Regex PresentationRegex Presentation
Regex Presentation
 
Ch03
Ch03Ch03
Ch03
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
 
Perl6 signatures
Perl6 signaturesPerl6 signatures
Perl6 signatures
 
1 functions
1 functions1 functions
1 functions
 
Parsing in Compiler Design
Parsing in Compiler DesignParsing in Compiler Design
Parsing in Compiler Design
 
5 top-down-parsers
5  top-down-parsers 5  top-down-parsers
5 top-down-parsers
 

Viewers also liked

Language
LanguageLanguage
Language
Guido Wachsmuth
 
Register Allocation
Register AllocationRegister Allocation
Register Allocation
Eelco Visser
 
Software languages
Software languagesSoftware languages
Software languages
Eelco Visser
 
Programming languages
Programming languagesProgramming languages
Programming languages
Eelco Visser
 
LR Parsing
LR ParsingLR Parsing
LR Parsing
Eelco Visser
 
Garbage Collection
Garbage CollectionGarbage Collection
Garbage Collection
Eelco Visser
 

Viewers also liked (6)

Language
LanguageLanguage
Language
 
Register Allocation
Register AllocationRegister Allocation
Register Allocation
 
Software languages
Software languagesSoftware languages
Software languages
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
LR Parsing
LR ParsingLR Parsing
LR Parsing
 
Garbage Collection
Garbage CollectionGarbage Collection
Garbage Collection
 

Similar to Syntax Definition

CS4200 2019 | Lecture 4 | Syntactic Services
CS4200 2019 | Lecture 4 | Syntactic ServicesCS4200 2019 | Lecture 4 | Syntactic Services
CS4200 2019 | Lecture 4 | Syntactic Services
Eelco Visser
 
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term RewritingCompiler Construction | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
Eelco Visser
 
CS4200 2019 | Lecture 5 | Transformation by Term Rewriting
CS4200 2019 | Lecture 5 | Transformation by Term RewritingCS4200 2019 | Lecture 5 | Transformation by Term Rewriting
CS4200 2019 | Lecture 5 | Transformation by Term Rewriting
Eelco Visser
 
CS4200 2019 | Lecture 3 | Parsing
CS4200 2019 | Lecture 3 | ParsingCS4200 2019 | Lecture 3 | Parsing
CS4200 2019 | Lecture 3 | Parsing
Eelco Visser
 
Compiler Construction | Lecture 3 | Syntactic Editor Services
Compiler Construction | Lecture 3 | Syntactic Editor ServicesCompiler Construction | Lecture 3 | Syntactic Editor Services
Compiler Construction | Lecture 3 | Syntactic Editor Services
Eelco Visser
 
Declare Your Language: Transformation by Strategic Term Rewriting
Declare Your Language: Transformation by Strategic Term RewritingDeclare Your Language: Transformation by Strategic Term Rewriting
Declare Your Language: Transformation by Strategic Term Rewriting
Eelco Visser
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
Ravinder Singla
 
Open course(programming languages) 20150225
Open course(programming languages) 20150225Open course(programming languages) 20150225
Open course(programming languages) 20150225
JangChulho
 
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
codin9cafe
 
Awk essentials
Awk essentialsAwk essentials
Awk essentials
Logan Palanisamy
 
Compiler Construction | Lecture 8 | Type Constraints
Compiler Construction | Lecture 8 | Type ConstraintsCompiler Construction | Lecture 8 | Type Constraints
Compiler Construction | Lecture 8 | Type Constraints
Eelco Visser
 
Compiler Construction | Lecture 4 | Parsing
Compiler Construction | Lecture 4 | Parsing Compiler Construction | Lecture 4 | Parsing
Compiler Construction | Lecture 4 | Parsing
Eelco Visser
 
4. languages and grammars
4. languages and grammars4. languages and grammars
4. languages and grammars
Saeed Parsa
 
Ch2 (1).ppt
Ch2 (1).pptCh2 (1).ppt
Ch2 (1).ppt
daniloalbay1
 
Python regular expressions
Python regular expressionsPython regular expressions
Python regular expressions
Krishna Nanda
 
Lexical
LexicalLexical
Chapter Three(1)
Chapter Three(1)Chapter Three(1)
Chapter Three(1)bolovv
 
Pythonlearn-11-Regex.pptx
Pythonlearn-11-Regex.pptxPythonlearn-11-Regex.pptx
Pythonlearn-11-Regex.pptx
Dave Tan
 

Similar to Syntax Definition (20)

CS4200 2019 | Lecture 4 | Syntactic Services
CS4200 2019 | Lecture 4 | Syntactic ServicesCS4200 2019 | Lecture 4 | Syntactic Services
CS4200 2019 | Lecture 4 | Syntactic Services
 
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term RewritingCompiler Construction | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
 
CS4200 2019 | Lecture 5 | Transformation by Term Rewriting
CS4200 2019 | Lecture 5 | Transformation by Term RewritingCS4200 2019 | Lecture 5 | Transformation by Term Rewriting
CS4200 2019 | Lecture 5 | Transformation by Term Rewriting
 
CS4200 2019 | Lecture 3 | Parsing
CS4200 2019 | Lecture 3 | ParsingCS4200 2019 | Lecture 3 | Parsing
CS4200 2019 | Lecture 3 | Parsing
 
Compiler Construction | Lecture 3 | Syntactic Editor Services
Compiler Construction | Lecture 3 | Syntactic Editor ServicesCompiler Construction | Lecture 3 | Syntactic Editor Services
Compiler Construction | Lecture 3 | Syntactic Editor Services
 
Declare Your Language: Transformation by Strategic Term Rewriting
Declare Your Language: Transformation by Strategic Term RewritingDeclare Your Language: Transformation by Strategic Term Rewriting
Declare Your Language: Transformation by Strategic Term Rewriting
 
Regexp
RegexpRegexp
Regexp
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Ch2
Ch2Ch2
Ch2
 
Open course(programming languages) 20150225
Open course(programming languages) 20150225Open course(programming languages) 20150225
Open course(programming languages) 20150225
 
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
codin9cafe[2015.02.25]Open course(programming languages) - 장철호(Ch Jang)
 
Awk essentials
Awk essentialsAwk essentials
Awk essentials
 
Compiler Construction | Lecture 8 | Type Constraints
Compiler Construction | Lecture 8 | Type ConstraintsCompiler Construction | Lecture 8 | Type Constraints
Compiler Construction | Lecture 8 | Type Constraints
 
Compiler Construction | Lecture 4 | Parsing
Compiler Construction | Lecture 4 | Parsing Compiler Construction | Lecture 4 | Parsing
Compiler Construction | Lecture 4 | Parsing
 
4. languages and grammars
4. languages and grammars4. languages and grammars
4. languages and grammars
 
Ch2 (1).ppt
Ch2 (1).pptCh2 (1).ppt
Ch2 (1).ppt
 
Python regular expressions
Python regular expressionsPython regular expressions
Python regular expressions
 
Lexical
LexicalLexical
Lexical
 
Chapter Three(1)
Chapter Three(1)Chapter Three(1)
Chapter Three(1)
 
Pythonlearn-11-Regex.pptx
Pythonlearn-11-Regex.pptxPythonlearn-11-Regex.pptx
Pythonlearn-11-Regex.pptx
 

More from Eelco Visser

CS4200 2019 | Lecture 2 | syntax-definition
CS4200 2019 | Lecture 2 | syntax-definitionCS4200 2019 | Lecture 2 | syntax-definition
CS4200 2019 | Lecture 2 | syntax-definition
Eelco Visser
 
CS4200 2019 Lecture 1: Introduction
CS4200 2019 Lecture 1: IntroductionCS4200 2019 Lecture 1: Introduction
CS4200 2019 Lecture 1: Introduction
Eelco Visser
 
A Direct Semantics of Declarative Disambiguation Rules
A Direct Semantics of Declarative Disambiguation RulesA Direct Semantics of Declarative Disambiguation Rules
A Direct Semantics of Declarative Disambiguation Rules
Eelco Visser
 
Declarative Type System Specification with Statix
Declarative Type System Specification with StatixDeclarative Type System Specification with Statix
Declarative Type System Specification with Statix
Eelco Visser
 
Compiler Construction | Lecture 17 | Beyond Compiler Construction
Compiler Construction | Lecture 17 | Beyond Compiler ConstructionCompiler Construction | Lecture 17 | Beyond Compiler Construction
Compiler Construction | Lecture 17 | Beyond Compiler Construction
Eelco Visser
 
Domain Specific Languages for Parallel Graph AnalytiX (PGX)
Domain Specific Languages for Parallel Graph AnalytiX (PGX)Domain Specific Languages for Parallel Graph AnalytiX (PGX)
Domain Specific Languages for Parallel Graph AnalytiX (PGX)
Eelco Visser
 
Compiler Construction | Lecture 15 | Memory Management
Compiler Construction | Lecture 15 | Memory ManagementCompiler Construction | Lecture 15 | Memory Management
Compiler Construction | Lecture 15 | Memory Management
Eelco Visser
 
Compiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | InterpretersCompiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | Interpreters
Eelco Visser
 
Compiler Construction | Lecture 13 | Code Generation
Compiler Construction | Lecture 13 | Code GenerationCompiler Construction | Lecture 13 | Code Generation
Compiler Construction | Lecture 13 | Code Generation
Eelco Visser
 
Compiler Construction | Lecture 12 | Virtual Machines
Compiler Construction | Lecture 12 | Virtual MachinesCompiler Construction | Lecture 12 | Virtual Machines
Compiler Construction | Lecture 12 | Virtual Machines
Eelco Visser
 
Compiler Construction | Lecture 11 | Monotone Frameworks
Compiler Construction | Lecture 11 | Monotone FrameworksCompiler Construction | Lecture 11 | Monotone Frameworks
Compiler Construction | Lecture 11 | Monotone Frameworks
Eelco Visser
 
Compiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow AnalysisCompiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow Analysis
Eelco Visser
 
Compiler Construction | Lecture 9 | Constraint Resolution
Compiler Construction | Lecture 9 | Constraint ResolutionCompiler Construction | Lecture 9 | Constraint Resolution
Compiler Construction | Lecture 9 | Constraint Resolution
Eelco Visser
 
Compiler Construction | Lecture 7 | Type Checking
Compiler Construction | Lecture 7 | Type CheckingCompiler Construction | Lecture 7 | Type Checking
Compiler Construction | Lecture 7 | Type Checking
Eelco Visser
 
Compiler Construction | Lecture 6 | Introduction to Static Analysis
Compiler Construction | Lecture 6 | Introduction to Static AnalysisCompiler Construction | Lecture 6 | Introduction to Static Analysis
Compiler Construction | Lecture 6 | Introduction to Static Analysis
Eelco Visser
 
Compiler Construction | Lecture 2 | Declarative Syntax Definition
Compiler Construction | Lecture 2 | Declarative Syntax DefinitionCompiler Construction | Lecture 2 | Declarative Syntax Definition
Compiler Construction | Lecture 2 | Declarative Syntax Definition
Eelco Visser
 
Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?
Eelco Visser
 
Declare Your Language: Virtual Machines & Code Generation
Declare Your Language: Virtual Machines & Code GenerationDeclare Your Language: Virtual Machines & Code Generation
Declare Your Language: Virtual Machines & Code Generation
Eelco Visser
 
Declare Your Language: Dynamic Semantics
Declare Your Language: Dynamic SemanticsDeclare Your Language: Dynamic Semantics
Declare Your Language: Dynamic Semantics
Eelco Visser
 
Declare Your Language: Constraint Resolution 2
Declare Your Language: Constraint Resolution 2Declare Your Language: Constraint Resolution 2
Declare Your Language: Constraint Resolution 2
Eelco Visser
 

More from Eelco Visser (20)

CS4200 2019 | Lecture 2 | syntax-definition
CS4200 2019 | Lecture 2 | syntax-definitionCS4200 2019 | Lecture 2 | syntax-definition
CS4200 2019 | Lecture 2 | syntax-definition
 
CS4200 2019 Lecture 1: Introduction
CS4200 2019 Lecture 1: IntroductionCS4200 2019 Lecture 1: Introduction
CS4200 2019 Lecture 1: Introduction
 
A Direct Semantics of Declarative Disambiguation Rules
A Direct Semantics of Declarative Disambiguation RulesA Direct Semantics of Declarative Disambiguation Rules
A Direct Semantics of Declarative Disambiguation Rules
 
Declarative Type System Specification with Statix
Declarative Type System Specification with StatixDeclarative Type System Specification with Statix
Declarative Type System Specification with Statix
 
Compiler Construction | Lecture 17 | Beyond Compiler Construction
Compiler Construction | Lecture 17 | Beyond Compiler ConstructionCompiler Construction | Lecture 17 | Beyond Compiler Construction
Compiler Construction | Lecture 17 | Beyond Compiler Construction
 
Domain Specific Languages for Parallel Graph AnalytiX (PGX)
Domain Specific Languages for Parallel Graph AnalytiX (PGX)Domain Specific Languages for Parallel Graph AnalytiX (PGX)
Domain Specific Languages for Parallel Graph AnalytiX (PGX)
 
Compiler Construction | Lecture 15 | Memory Management
Compiler Construction | Lecture 15 | Memory ManagementCompiler Construction | Lecture 15 | Memory Management
Compiler Construction | Lecture 15 | Memory Management
 
Compiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | InterpretersCompiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | Interpreters
 
Compiler Construction | Lecture 13 | Code Generation
Compiler Construction | Lecture 13 | Code GenerationCompiler Construction | Lecture 13 | Code Generation
Compiler Construction | Lecture 13 | Code Generation
 
Compiler Construction | Lecture 12 | Virtual Machines
Compiler Construction | Lecture 12 | Virtual MachinesCompiler Construction | Lecture 12 | Virtual Machines
Compiler Construction | Lecture 12 | Virtual Machines
 
Compiler Construction | Lecture 11 | Monotone Frameworks
Compiler Construction | Lecture 11 | Monotone FrameworksCompiler Construction | Lecture 11 | Monotone Frameworks
Compiler Construction | Lecture 11 | Monotone Frameworks
 
Compiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow AnalysisCompiler Construction | Lecture 10 | Data-Flow Analysis
Compiler Construction | Lecture 10 | Data-Flow Analysis
 
Compiler Construction | Lecture 9 | Constraint Resolution
Compiler Construction | Lecture 9 | Constraint ResolutionCompiler Construction | Lecture 9 | Constraint Resolution
Compiler Construction | Lecture 9 | Constraint Resolution
 
Compiler Construction | Lecture 7 | Type Checking
Compiler Construction | Lecture 7 | Type CheckingCompiler Construction | Lecture 7 | Type Checking
Compiler Construction | Lecture 7 | Type Checking
 
Compiler Construction | Lecture 6 | Introduction to Static Analysis
Compiler Construction | Lecture 6 | Introduction to Static AnalysisCompiler Construction | Lecture 6 | Introduction to Static Analysis
Compiler Construction | Lecture 6 | Introduction to Static Analysis
 
Compiler Construction | Lecture 2 | Declarative Syntax Definition
Compiler Construction | Lecture 2 | Declarative Syntax DefinitionCompiler Construction | Lecture 2 | Declarative Syntax Definition
Compiler Construction | Lecture 2 | Declarative Syntax Definition
 
Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?
 
Declare Your Language: Virtual Machines & Code Generation
Declare Your Language: Virtual Machines & Code GenerationDeclare Your Language: Virtual Machines & Code Generation
Declare Your Language: Virtual Machines & Code Generation
 
Declare Your Language: Dynamic Semantics
Declare Your Language: Dynamic SemanticsDeclare Your Language: Dynamic Semantics
Declare Your Language: Dynamic Semantics
 
Declare Your Language: Constraint Resolution 2
Declare Your Language: Constraint Resolution 2Declare Your Language: Constraint Resolution 2
Declare Your Language: Constraint Resolution 2
 

Recently uploaded

Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 

Recently uploaded (20)

Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 

Syntax Definition