Slide 30
Slide 30 text
Message Compiler
• Compile Process
‘Hi, {name} !’
Tokenizer
H i , { n a m e } !
Scanner
scan & tokenize
Hi,
{
name
}
!
Tokens
Parser
Hi,
{
name
}
!
syntax analysis
type: text
value: ‘Hi,’
type: named
key: ‘name’
type: text
value: ‘ !’
type: message
items: […]
AST
Transformer
type: text
value: ‘Hi,’
type: named
key: ‘name’
type: text
value: ‘ !’
type: message
items: […]
walk & transform
Pre-processed AST
Generator
walk & generate
type: text
value: ‘Hi,’
type: named
key: ‘name’
type: text
value: ‘ !’
type: message
items: […]
Message
"function __msg__ (ctx) {
…
return _normalize([
\\"hi \\”,
_interpolate(_named(\\”name\\")),
\\” !\\"
])
}"
Message Function