======== #1 expr#is*() ========

-x       y n n n n n n n n n n
`x       n y n n n n n n n n n
x*       y n n n n n n n n n n
x + y    n n y n n n n n n n n
x = y    n n n y n n n n n n n
x => y   n n y n n n n n n n n
x::y     n n n n y n n n n n n
{}       n n n n n y n n n n n
3        n n n n n n n y n n n
[]       n n n n n n y n n n n
x[y]     n n n n n n n n n y n
x(y, z)  n n n n n n n n n n y

======== #2 expr#textize() ========

unaryop          -3
binaryop         3 + 4
caller           f(x)
assign           f(x) = {}
assign           f(x) = {|a, b| c }
indexer          (f(x):attr)[0]
assign           f(x) = {|(a | b | c), (d | e | f)| g | h }

======== #3 expr#textize() with string and binary ========

'0123456789012345678901234567890123456789'
b'\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39'
' .. '
b' .. '

======== #4 attribute ========

f():a:cut_extra_args:dynamic_scope:end_marker:finalizer:flat:fork:leader:listvar:nil:nocast:nomap:nonamed:private:privileged:public:r:symbol_func:trailer:w:iter:b:c:d:e
  a
  b
  c
  d
  e
  cut_extra_args
  dynamic_scope
  end_marker
  finalizer
  flat
  fork
  leader
  listvar
  nil
  nocast
  nomap
  nonamed
  private
  privileged
  public
  r
  symbol_func
  trailer
  w
  iter
f():list
  list
f():reduce
  reduce
f():set
  set
f():void
  void
f():xiter
  xiter
f():xlist
  xlist
f():xreduce
  xreduce
f():xset
  xset

======== #5 various positioning of brace bracket ========

f(a, b, c) = {}
f(a, b, c) = {}
f(a, b, c) = {}
f(a, b, c) = {}
f(a, b, c) = {}
f(a, b, c) = {|p1, p2, p3|}
f(a, b, c) = {|p1, p2, p3|}
f(a, b, c) = {|p1, p2, p3|}
f(a, b, c) = {|p1, p2, p3|}
if (cond) {}
if (cond) {}
if (cond) {}
if (cond) {}
if (cond) {}

======== #6 if-elsif-else ========

{ if (cond1) {} elsif (cond2) {} elsif (cond3) {} elsif (cond4) {} else {} }

======== #7 try-catch-else-finally ========

{ try {} catch(error.IndexError) {} catch(error.ValueError) {} catch(error.IOError) {} catch(error.SystemError) {} catch {} else {} finally {} }

======== #8 implicit block ========

if (cond) { println('hello') }
if (cond) { println('hello') }
if (cond) { println('hello') }
repeat (10) { println('hello') }
