class Treetop::Runtime::SyntaxNode

Public Instance Methods

ast() click to toggle source
# File lib/parser/cddl-util.rb, line 5
def ast
  fail "undefined_ast #{inspect}"
end
ast1() click to toggle source
# File lib/parser/cddl-util.rb, line 8
def ast1                      # devhack
  "#{inspect[10..20]}--#{text_value[0..15]}"
end
mkgen(name, genparm) click to toggle source
# File lib/parser/cddl-util.rb, line 11
def mkgen(name, genparm)
  nm = name.text_value
  if el = genparm.elements
    ["gen", nm, *genparm.ast] # XXX
  else
    ["name", nm]
  end
end
repwrap(el, val) click to toggle source
# File lib/parser/cddl-util.rb, line 44
def repwrap(el, val)
  if el.text_value == ''
    val
  else
    ["rep", *el.ast, val]
  end
end
tvtoi(el, default) click to toggle source
# File lib/parser/cddl-util.rb, line 36
def tvtoi(el, default)
  v = el.text_value
  if v == ''
    default
  else
    v.to_i
  end
end
wrapop(op, first, rest) click to toggle source
# File lib/parser/cddl-util.rb, line 19
def wrapop(op, first, rest)
  a = first.ast
  b = rest.map(&:ast)
  if b.size != 0
    [op, a, *b]
  else
    a
  end
end
wrapop0(op, all) click to toggle source
# File lib/parser/cddl-util.rb, line 28
def wrapop0(op, all)
  a = all.map(&:ast)
  if a.size == 1
    a[0]
  else
    [op, *a]
  end
end