Module: ABNF::Alternation2

Defined in:
lib/abnf.rb

Instance Method Summary collapse

Instance Method Details

#astObject



533
534
535
536
537
538
# File 'lib/abnf.rb', line 533

def ast
  conc2 = elements[1].elements.map {|x| x.concatenation}
  # warn ["alt!!!", concatenation, conc2].inspect
  e = [elements[0], *conc2].map {|e| e.ast}.compact
  e.size == 1 ? e[0] : ["alt", *e]
end