Module: EDNGRAMMAR::Array4

Defined in:
lib/parser/edngrammar.rb

Instance Method Summary collapse

Instance Method Details

#astObject



3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
# File 'lib/parser/edngrammar.rb', line 3383

def ast
  e = elements[1] # alternative
  ei = nil
  if e.respond_to?(:specms)
    if e.specms && e.specms.elements
      ei = e.specms.elements[1].text_value
    end
    r = [e.item.ast] + e.elements[3].elements.map {|x| x.item.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})
    # warn "*** implementing XXX encoding indicator #{ei.inspect} after ["
  end
  r
end