'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)
|