Packages
rustler
0.20.0
0.38.0
0.37.3
0.37.1
0.37.0
retired
0.36.2
0.36.1
0.36.0
0.35.1
0.35.0
0.34.0
0.33.0
0.32.1
0.31.0
0.30.0
0.29.1
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.2
0.22.1
0.22.0
0.22.0-rc.2
0.22.0-rc.1
0.22.0-rc.0
0.21.1
0.21.0
0.20.0
0.19.1
0.19.0
0.18.0
0.17.1
0.17.0
0.16.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.2
0.3.1
0.3.0
0.2.0
0.1.1
0.1.0
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Mix compiler and runtime helpers for Rustler.
Current section
Files
Jump to
Current section
Files
src/toml_parser.yrl
Nonterminals
root kv_key kv_pair
array array_elems
items item value
table_header table_header_body
inline_table inline_table_elems.
Terminals
key_bare lit_string_basic lit_string_basic_multi lit_string_literal lit_string_literal_multi
lit_integer lit_float lit_datetime1 lit_datetime2 lit_datetime3 lit_boolean
'=' '[' ']' '{' '}' '.' ','.
Rootsymbol root.
root ->
items : '$1'.
items ->
item : ['$1'].
items ->
item items : ['$1'] ++ '$2'.
item ->
table_header : '$1'.
item ->
kv_pair : '$1'.
table_header ->
'[' '[' table_header_body ']' ']' : {table_array, '$3'}.
table_header ->
'[' table_header_body ']' : {table, '$2'}.
table_header_body ->
kv_key '.' table_header_body : ['$1'] ++ '$3'.
table_header_body ->
kv_key : ['$1'].
kv_pair ->
kv_key '=' value : {kv, '$1', '$3'}.
kv_key ->
key_bare : {bare, extract_token('$1')}.
kv_key ->
lit_string_basic : {basic, extract_token('$1')}.
kv_key ->
lit_string_literal : {literal, extract_token('$1')}.
array ->
'[' ']' : {array, []}.
array ->
'[' array_elems ']' : {array, '$2'}.
array_elems ->
value ',' array_elems : ['$1'] ++ '$3'.
array_elems ->
value ',' : ['$1'].
array_elems ->
value : ['$1'].
inline_table ->
'{' inline_table_elems '}' : {inline_table, '$2'}.
inline_table_elems ->
kv_pair ',' inline_table_elems : ['$1'] ++ inline_table_elems.
inline_table_elems ->
kv_pair : ['$1'].
value ->
array : '$1'.
value ->
inline_table : '$1'.
value ->
lit_string_basic : {val_basic, extract_token('$1')}.
value ->
lit_string_basic_multi : {val_basic_multi, extract_token('$1')}.
value ->
lit_string_literal : {val_literal, extract_token('$1')}.
value ->
lit_string_literal_multi : {val_literal_multi, extract_token('$1')}.
value ->
lit_integer : {val_integer, extract_token('$1')}.
value ->
lit_float : {val_float, extract_token('$1')}.
value ->
lit_boolean : {val_boolean, extract_token('$1')}.
value ->
lit_datetime1 : {val_datetime1, extract_token('$1')}.
value ->
lit_datetime2 : {val_datetime2, extract_token('$1')}.
value ->
lit_datetime3 : {val_datetime3, extract_token('$1')}.
Erlang code.
to_str(V) ->
'Elixir.String.Chars':to_string(V).
extract_token({_Token, _Line, Value}) -> to_str(Value).