TIP: Click on subject to list as thread! ANSI
echo: power_bas
to: ALL
from: DAVE NAVARRO
date: 1995-06-07 13:59:00
subject: Building Declares 1/2

'MKDEC.BAS
'by Dave Navarro, Jr.
'Notes:  Needs a LOT of work!
DEFINT A-Z
IF LEN(COMMAND$)=0 THEN
  PRINT "Usage:  DEC filename"
  END 255
END IF
IF LEN(DIR$(COMMAND$))=0 THEN
  PRINT "Error!  File Not Found"
  END 1
END IF
F$ = UCASE$(EXTRACT$(COMMAND$,".")+".DEC")
PRINT "Writing: ";F$
OPEN "I",1,COMMAND$
  OPEN "O",2,F$
  PRINT #2, "'Declarations for: ";UCASE$(COMMAND$)
  PRINT #2, ""
  WHILE NOT EOF(1)
    INCR Lin%
    LOCATE ,1
    PRINT "Line:";Lin%;
    T%=0
    LINE INPUT #1, Tmp$
    Tmp$=LTRIM$(Tmp$)
    IF LEFT$(UCASE$(Tmp$),9)="FUNCTION " THEN
      PRINT #2, "DECLARE FUNCTION ";
      Tmp$=MID$(Tmp$,10)
     ELSEIF LEFT$(UCASE$(Tmp$),4)="SUB " THEN
      PRINT #2, "DECLARE SUB ";
      Tmp$=MID$(Tmp$,5)
     ELSE
      GOTO NextLine
    END IF
    V$=EXTRACT$(Tmp$,ANY "( '")
    PRINT #2, V$;
    IF INSTR(Tmp$,"(")=0 THEN
      PRINT #2, "()"
     ELSE
      PRINT #2, "(";
      Tmp$=EXTRACT$(MID$(Tmp$,INSTR(Tmp$,"(")+1),")")
      WHILE INSTR(Tmp$,",")
        V$=EXTRACT$(Tmp$,",")
        Tmp$=MID$(Tmp$,LEN(V$)+2)
        Typ%=INSTR(V$,ANY"$%&@!#?")
        IF Typ% THEN
          V$=MID$(V$,Typ%)
          IF V$="@" THEN PRINT #2, "bcd, ";
          IF V$="@@" THEN PRINT #2, "fix, ";
          IF V$="?" THEN PRINT #2, "byte, ";
          IF V$="??" THEN PRINT #2, "word, ";
          IF V$="???" THEN PRINT #2, "dword, ";
          IF V$="%" THEN PRINT #2, "integer, ";
          IF V$="&" THEN PRINT #2, "long, ";
          IF V$="&&" THEN PRINT #2, "quad, ";
          IF V$="!" THEN PRINT #2, "real, ";
          IF V$="#" THEN PRINT #2, "double, ";
          IF V$="$" THEN PRINT #2, "string, ";
          IF V$="$$" THEN PRINT #2, "flex, ";
         ELSE
          PRINT #2, "integer, ";
        END IF
        IF LEN(INKEY$) THEN
          PRINT "Darn Loop"
          END
        END IF
      WEND
      IF LEN(INKEY$) THEN END
      Typ%=INSTR(Tmp$,ANY"$%&@!#?")
      IF Typ% THEN
        V$=MID$(Tmp$,Typ%)
        IF V$="@" THEN PRINT #2, "bcd)"
        IF V$="@@" THEN PRINT #2, "fix)"
        IF V$="?" THEN PRINT #2, "byte)"
        IF V$="??" THEN PRINT #2, "word)"
        IF V$="???" THEN PRINT #2, "dword)"
        IF V$="%" THEN PRINT #2, "integer)"
        IF V$="&" THEN PRINT #2, "long)"
        IF V$="&&" THEN PRINT #2, "quad)"
        IF V$="!" THEN PRINT #2, "real)"
          IF V$="#" THEN PRINT #2, "double)";
        IF V$="$" THEN PRINT #2, "string)"
        IF V$="$$" THEN PRINT #2, "flex)"
       ELSE
        PRINT #2, "integer)"
      END IF
    END IF
   NextLine:
  WEND
  CLOSE 2
CLOSE 1
(Continued to next message)
---
 * QMPro 1.53 * MilliHelen: The amount of beauty needed to launch 1 ship
--- WILDMAIL!/WC v4.12 
---------------
* Origin: Toast House * (314) 994-0312 * (1:100/560.0)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.