Module macro.with

A with statement.

This works more like the Visual Basic statement than the Pascal one; fields have an explicit period to indicate that they are special. This makes variable scoping explcit.

aLongTableName = {}
with aLongTableName do
  .a = 1
  .b = {{x=1},{x=2}}
  .c = {f = 2}
  print(.a,.c.f,.b[1].x)
end

Fields that follow an identifier or a } are passed as-is.