

scan def list  ( out>):
        "(", white stuff, scan def list  ( out>),
        ")", white stuff, ->;
scan def list ( LIST * scan def els >):
        "[",layout, scan def els (scan def els >), "]",layout.

scan def els (scan def * scan def els >):
        scan def(scan def>),
        more scan def els (scan def els >), ->;
scan def els (empty>):.

more scan def els (scan def * more scan def els >):
        ",",layout, 
        scan def(scan def>),
        more scan def els (more scan def els >), ->;
more scan def els (empty>):.


scan orig ( out>):
        "(", white stuff, scan orig ( out>),
        ")", white stuff, ->;
scan orig(TUPPLE * file * line>):
        scan string (file>),",",layout,
        scan inum (line>).

scan partyp list  ( out>):
        "(", white stuff, scan partyp list  ( out>),
        ")", white stuff, ->;
scan partyp list ( LIST * scan partyp els >):
        "[",layout, scan partyp els (scan partyp els >), "]",layout.

scan partyp els (scan partyp * scan partyp els >):
        scan partyp(scan partyp>),
        more scan partyp els (scan partyp els >), ->;
scan partyp els (empty>):.

more scan partyp els (scan partyp * more scan partyp els >):
        ",",layout, 
        scan partyp(scan partyp>),
        more scan partyp els (more scan partyp els >), ->;
more scan partyp els (empty>):.


scan typ list  ( out>):
        "(", white stuff, scan typ list  ( out>),
        ")", white stuff, ->;
scan typ list ( LIST * scan typ els >):
        "[",layout, scan typ els (scan typ els >), "]",layout.

scan typ els (scan typ * scan typ els >):
        scan typ(scan typ>),
        more scan typ els (scan typ els >), ->;
scan typ els (empty>):.

more scan typ els (scan typ * more scan typ els >):
        ",",layout, 
        scan typ(scan typ>),
        more scan typ els (more scan typ els >), ->;
more scan typ els (empty>):.


scan formcon list  ( out>):
        "(", white stuff, scan formcon list  ( out>),
        ")", white stuff, ->;
scan formcon list ( LIST * scan formcon els >):
        "[",layout, scan formcon els (scan formcon els >), "]",layout.

scan formcon els (scan formcon * scan formcon els >):
        scan formcon(scan formcon>),
        more scan formcon els (scan formcon els >), ->;
scan formcon els (empty>):.

more scan formcon els (scan formcon * more scan formcon els >):
        ",",layout, 
        scan formcon(scan formcon>),
        more scan formcon els (more scan formcon els >), ->;
more scan formcon els (empty>):.


scan val list  ( out>):
        "(", white stuff, scan val list  ( out>),
        ")", white stuff, ->;
scan val list ( LIST * scan val els >):
        "[",layout, scan val els (scan val els >), "]",layout.

scan val els (scan val * scan val els >):
        scan val(scan val>),
        more scan val els (scan val els >), ->;
scan val els (empty>):.

more scan val els (scan val * more scan val els >):
        ",",layout, 
        scan val(scan val>),
        more scan val els (more scan val els >), ->;
more scan val els (empty>):.


scan parval list  ( out>):
        "(", white stuff, scan parval list  ( out>),
        ")", white stuff, ->;
scan parval list ( LIST * scan parval els >):
        "[",layout, scan parval els (scan parval els >), "]",layout.
