      SUBROUTINE PC.EXPAND(ID,ELS,OBJ)
*PRE-COMPILER
*
*DEV TRIAL RT
*BASIC
*N
*     PRECISION 6
*
************************************************************************
************************************************************************
***                                                                  ***
*** PICK PARSING PRE-COMPILER SYSTEM                                 ***
***                                                                  ***
*** COPYRIGHT 1988 MODULAR SOFTWARE                                  ***
***                P.O. BOX 204                                      ***
***                ATLANTA, GA  30291                                ***
***                (404) 964 - 7171                                  ***
***                                                                  ***
*** THIS PROGRAM IS PROPRIETARY TO MODULAR SOFTWARE AND MAY NOT BE   ***
*** USED, COPIED, EXAMINED, OR DISCLOSED WITHOUT A VALID LICENSE     ***
*** FROM MODULAR SOFTWARE.                                           ***
***                                                                  ***
************************************************************************
************************************************************************
*
*
*
*
      $INCLUDE PC.COMMON
*
      READ MACRO FROM OBJ.FD , ID ELSE STOP 'PC','Cannot read macro definition ' : ID
*
      OBJ = ''
*
      I1 = DCOUNT(MACRO<2,1>,SVM)
      FOR I = 1 TO I1
         IF MACRO<2,2,I> THEN
            T = MACRO<2,1,I>
            BEGIN CASE
               CASE T[1,1] = '%'
                  BEGIN CASE
                     CASE T[2,1] = 'L'
                        OBJ = OBJ : LINE.NO(RECUR.LEVEL)
                     CASE T[2,1] = 'N'
                        OBJ = OBJ : PGM.NAME
                     CASE NUM(T[2,99])
                        OBJ = OBJ : ELS<T[2,32000]>
                  END CASE
               CASE T = 'P'
                  OBJ = OBJ : PREC.STR
               CASE T = 'R'
                  OBJ = OBJ : 'FN$' : FN.NO
               CASE T[1,1] = '#'
                  BEGIN CASE
                     CASE T[2,1] = 'P'
                        N = T[3,1]
                        N = ELS<N>
                        IF N = 4 THEN
                           PREC.STR = ''
                        END ELSE
                           PREC.STR = '$' : N
                        END
                  END CASE
            END CASE
         END ELSE
            OBJ = OBJ : MACRO<2,1,I>
         END
      NEXT I
*
      RETURN
*
      CW = '(C) Copyright 1985-1989 Modular Software.  All rights reserved.'
   END
