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