Interface for qBeta module object

Origin: xKinds

ReturnValues: obj
   Holder:
      %globals
      ch: var char
   Point: Value
      in X: var integer
      in Y: var integer
      move:
         in X1: var integer
         in Y1: var integer
         out PP: var Point(,)
   testDataItems:
      A: obj myPtnA()
      B: var myPtnB(,)
      C: var myPtnC()
      D: obj myPtnD()
      E: val myPtnE()
      F: val myPtnF()
   myPtnA:
      in ch: var char
      out R: obj Holder
   A: ref Holder -- dont catch myPtnA as qual
   myPtnB:
      in X: var integer
      in Y: var integer
      out V: var Point(X,Y)
   B: var Point(,) -- dont catch missing arguments
   myPtnC:
      in ch: var char
      out R: var char
   C: var char
   myPtnD: Value
      in ch: var char
      out R: obj holder
   D: ref Holder
      --D := myPtnD('e') -- semantic error here
      --put(D.ch)
      
   myPtnE: Value
      in ch: var char
      out R: var Point(,)
   E: var Point(,)
   P: val Point(,)
   myPtnF: Value
      in ch: var char
      out V: var integer
   F: var integer
   myPtnG: integer
      in ch: var char
      out R: ref Holder
   G: ref Holder
      --G := myPtnG('h') -- semantic error
      --put(G.ch)
      
   myPtnH: integer
      in ch: var char
      out R: val Point(,)
   H: val Point(,)
   myPtnI: integer
      in ch: var char
      out V: val integer -- probaly not ok since integer returns _thisBasicValue
   I: val integer
   myPtnJ: integer
      in ch: var char
   J: val integer