3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
|
# File 'lib/parser/edngrammar.rb', line 3210
def ast
e = elements[1] ei = nil
if e.respond_to?(:specms)
if e.specms && e.specms.elements
ei = e.specms.elements[1].text_value
end
r = Hash[ [e.keyp.ast] + e.elements[3].elements.map {|x| x.keyp.ast } ]
else
if e.spec && e.spec.elements
ei = e.spec.elements[1].text_value
end
r = {}
end
if ei == ""
r.cbor_stream!
elsif ei
r = CBOR::Box.from_instance(r, {ei: ei})
end
r
end
|