1lwm2m_senml = [1* record]
2
3record = {
4	? bn => tstr,            ; Base Name
5	? bt => int .size 8,     ; Base Time
6	? n => tstr,             ; Name
7	? t => int .size 8,      ; Time
8	? ( vi => int .size 8 // ; Integer Value
9	    vf => float       // ; Float Value
10	    vs => tstr        // ; String Value
11	    vb => bool        // ; Boolean Value
12	    vd => bstr        // ; Data Value
13	    vlo => tstr ),       ; Object Link Value
14	0*5 key-value-pair       ; To handle unordered maps; length-first ordered map keys
15}
16
17; now define the generic versions
18key-value-pair = ( int => value )
19
20value = tstr / bstr / int .size 8 / float / bool
21
22n  = 0
23t = 6
24bn = -2
25bt = -3
26vi = 2
27vf = 2
28vs = 3
29vd = 8
30vb = 4
31vlo = "vlo"
32