Slide 23
Slide 23 text
Code (charlist)
Tokens
Forms (quoted)
tokenize
parse
Result
eval
Code (string)
String.to_charlist
“ 1 + 1 “
‘ 1 + 1 ‘
[
{:int, {1, 1, 1}, ‘1’},
{:dual_op, {1, 3, nil}, :+},
{:int, {1, 5, 1}, ‘1’}
]
{:+, [line: 1], [1, 1]}
2
:elixir.string_to_tokens
(clist, line, col, file,
binds)
:elixir.tokens_to_quoted
(tokens, binds, env)
:elixir.eval_forms
(forms, binds, env)