        OPTIONS -LIST                   ; Turn listing off
;*****************************************************************************
;                                                                            *
;                           32000 ALGOL68C                                   *
;                           --------------                                   *
;                                                                            *
;                        PANOS argument macros                               *
;                                                                            *
;*****************************************************************************


        NLSYM   :0A

; KEYS
; ====

        MACRO
        KEYS    %str
       @MODULE
        AREADEF A68_KEYS,[COMDEF,PRIVATE,WRITE,DATA,PIC],BYTE
        AREA    A68_KEYS
        DCW     _BEGI-A68_KEYS
        DCW     _BEGH-A68_KEYS
        DCS     "%str"
_INH    SET     0
_INI    SET     0
_INSTRS SET     0
        MEND

; ARG
; ===

        MACRO
        ARG     %idf, %arg
        DCS     "%idf", "%arg", 1
        MEND

; FILEARG
; =======

        MACRO
        FILEARG %idf, %arg
        DCS     "%idf", "%arg", 0
        MEND

; IDENT
; =====

        MACRO
        IDENT   %str
        LONGSTR I, '%str'
        MEND

; HELP
; ====

        MACRO
        HELP    %str
        LONGSTR I
        LONGSTR H, '%str*n'
        MEND

; LONGSTR
; =======

        MACRO
        LONGSTR %n, %str
        IF      _INSTRS = 0
        DCB     0
_INSTRS SET     1
        FI
        IF      _IN%n = 0
_BEG%n  DCW     _END%n-(*+2)
_IN%n   SET     1
        FI
        IF      %#str = 0
        IFNDEF  _END%n
_END%n
        FI
        ELSE
        DCB     '%str'
        FI
        MEND

; ENDKEYS
; =======

        MACRO
        ENDKEYS
        IF      _INI = 0
        LONGSTR I
        FI
        LONGSTR H
        MEND

        OPTIONS -MEXP
        OPTIONS +LIST                   ; Re-enable listing
