*DECK S$ANSEP 
          PROC S$ANSEP(QUERY$,EPOINTN); 
#**       S$ANSEP -  ENSURES PROPERLY FORMED ENTRY-POINT-NAME          #
#                                                                      #
#     CALLING SEQUENCE-                                                #
#         S$ANSEP(QUERY$,EPOINTN):                                     #
#                                                                      #
#     GIVEN-                                                           #
#         QUERY$ = QUERY AS TO THE NAME OF OWN SUBROUTINE              #
#         EPOINT = NAME OF ENTRY POINT OF OWN SUBROUTINE               #
#                                                                      #
#     DOES-                                                            #
#         ASKS A QUESTION AND ENSURES THAT THE ANSWER IS A PROPERLY    #
#         FORMED ENTRY-POINT-NAME                                      #
  
          BEGIN 
  
*CALL A 
  
*CALL LINE$ 
  
*CALL QUERY$
  
          XREF
              BEGIN 
              PROC  S$GTANS;
              PROC  S$PUTLN;
              END 
          ITEM  EPOINTN      C(7);     # NAME OF ENTRY POINT OWN1      #
          ITEM  I            I;        # SCRATCH VARIABLE              #
          ITEM  REASKQ       B;        # REASK QUESTION                #
  
CONTROL DISJOINT; 
  
CONTROL INERT;
  
CONTROL EJECT;
  
PUTLINE:  
  
          FOR I=1 STEP 1 UNTIL QUERY$NLINES  DO 
              BEGIN 
              LINE$LINE = QUERY$LINE[I];
              LINE$LENGTH = QUERY$LLINE[I]; 
              S$PUTLN(LINE$); 
              END 
  
          S$GTANS(LINE$,REASKQ);
  
          IF REASKQ  THEN 
              GOTO PUTLINE; 
  
          EPOINTN = LINE$LINE;
  
          END # S$ANSEP # 
          TERM
