Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Amos2Blitz?
#1
Big Grin 
Hallo Leute.

In einem Anfall von Wahn habe ich gestern Nacht angefangen, einen AMOS2Blitz Src-Converter zu schreiben. Bislang sind es ca. 450 Zeilen Code, vonehmlich ASCII-Parsing.
Man könnte das wahrscheinlich effizienter durch direkt AMOS->Blitz Tokenisiert->Tokenisiert lösen, aber der AMOS-Src hat für solche Parsing-Fingerübungen einen (den einzigen) Vorteil:
Der Editor hat extrem strikte Formatier-Regeln! Es gibt keine freie Formatierung des Quelltextes, sodaß man immer z.B. ' : ' als Befehlstrenner annehmen kann, wenn der Code im AMOS-Editor als ok getestet wurde.

Leider hat sich noch herausgestellt, daß man Newtypes offenbar nicht beliebig groß machen kann, was meine angedachte Speicherverwaltung zunichte macht. Ich bekomme, wenn ich nichts rausnehme, einen "Type too big"-Compilerfehler bei einem Array im Newtype. Ich bin aber schon über 32kB sizeof, trotzdem. Weiß nicht mehr, was die Grenze ist.... Rolleyes

Momentan werden alle Zeilen klassifiziert, Prozeduren erkannt und globale Variablen aufgenommen. Insofern habe ich durch u.g. Beispiele schonmal eine grobe Richtlinie für die Größenordnungen.
Da bei AMOS GLOBAL vs. SHARED gilt, muß man sowieso alle GLOBALs vorher wissen, um in den Prozeduren diese als solche zu erkennen.

Was haltet ihr davon?

Unten die Ausgaben der testfiles, Parserausgabe "." heißt Leerzeile, "'" heißt Kommentarzeile.
[spoiler]
Code:
Arg File :quatro.asc
Loading...done.
Parsing Src...''''''''''''''''''''''''''''Done.


GLOBAL VARS:
------------
MX, MY, BD(), PLYR, BX(), SC(), QUIT, NUMPLAYERS, GAMEOVER, TEMP, TEMP2, BEST(), OK(), LEVEL, COUNT, OMX(), OMY(), ARROW$, _FONT,
Source File : quatro.asc
Source Lines: 1237

demo has 23 procedures:
n# name                  args(type)     lines[0000-0000]
--------------------------------------------------------
1 INIT                  0                 83[0042-0124]
2 WHERE                 0                 73[0125-0197]
3 CHKMVE                0                118[0198-0315]
4 BUTTONS               0                 42[0316-0357]
5 CHK_BUTTONS           0                 11[0358-0368]
6 INVALID               0                 22[0369-0390]
7 HSLIDE                0                 35[0391-0425]
8 VSLIDE                0                 36[0426-0461]
9 CREDITS               0                 28[0462-0489]
10 CHECKWINNER           0                  3[0490-0492]
11 DEPRESS_SLIDERS       0                 36[0493-0528]
12 NDGAME                0                 52[0529-0580]
13 NW_GAME               0                 56[0581-0636]
14 INST                  0                 37[0637-0673]
15 TITLE                 0                 81[0674-0754]
16 COMPUTE               0                 71[0758-0828]
17 CHECKSQ               3                167[0829-0995]
                         P
                         PX
                         PY
18 CHKHORIZ              3                 21[0996-1016]
                         P
                         PX
                         PY
19 CHKVERT               3                 22[1017-1038]
                         P
                         PX
                         PY
20 CHKSINGLE             2                 30[1039-1068]
                         PX
                         PY
21 MAKEMOVE              0                 70[1069-1138]
22 SHW_BOARD             0                 24[1139-1162]
23 CHK_ADVANCED          2                 75[1163-1237]
                         PX
                         PY
End :-)

Code:
Arg File :objed.asc
Loading...done.
Parsing Src...''''''''''''''...'''.'.'.''.'...'.'.....''''''''''''.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.Done.


GLOBAL VARS:
------------
SXMAX, SYMAX, YDISP, SYWORK, MN$(), MN1$(), FLAG(), MNON, MN1, MN2, NMN, NMN1, BMN, RES, NCOL, PAL$, SXZOOM, SXBZOOM, SXMZOOM, SYZOOM, SCMODE, XZM, YZM, SXZM, SYZM, XOZM, YOZM, SXOZM, SYOZM, ZM, XBB, YBB, SXBB, SYBB, OXBB, OYBB, SXRBB, SYRBB, SXMBB, SYMBB, HXBB, HYBB, CHANGED, CUBB, NPBB, NPLANS, HSPOT, BCHANGED, BNAME$, VER$, BTYPE, BTYPE$, BGRB, XBK, YBK, SXBK, SYBK, XPT, YPT, SXPT, SYPT, XMS, YMS, SXMS, SYMS, CLR(), CLRF, CPAT, CPNT, MX, MY, MS, MZ, MK, FMK, FMZ, FMS, FWT, MK3, OMS, SCB1, SCB2, XCOO, YCOO, CRD, ALERT, INF, INF$, MOUS, XSP, NBSP, SXSP, SYSP, XSL, YSL, SXSL, SYSL, SXRD, SYRD, SSL, ESL, XPAL, YPAL, PBANK, LBANK, SPCUR, PDR, BACK, MFLAG, ANMAX, SPA, ANX, ANY, BA(), FUNDO, CUNDO, PAIR, RAIR, PNAME$, GBRES, GBNP, GBSX, GBSY, GBNC, GBBK, GBSC, FMK, SMK, FMZ, SMZ, FMS, SMS, FMX, SMX, FMY, SMY,
Source File : objed.asc
Source Lines: 2168

demo has 73 procedures:
n# name                  args(type)     lines[0000-0000]
--------------------------------------------------------
1 _DISPLAY_PAT          0                  9[0863-0871]
2 _COPY_HIDE            0                  3[0872-0874]
3 _WAIT_NOMK            0                  7[0875-0881]
4 _MOUSE                0                 19[0882-0900]
5 _INIT_MENUS           0                 11[0901-0911]
6 _INIT_WORK            0                 73[0912-0984]
7 _SET_FLAGS            0                  4[0985-0988]
8 _SET_FLAG             0                  4[0989-0992]
9 _DISPLAY_BOB          0                 17[0993-1009]
10 _DISPLAY_ZOOM         0                 15[1010-1024]
11 _DISPLAY_XZOOM        0                 14[1025-1038]
12 _DISPLAY_YZOOM        0                 14[1039-1052]
13 _DISPLAY_BANK         0                 27[1053-1079]
14 _DISPLAY_SLIDER       0                 10[1080-1089]
15 _CLIP                 0                  3[1090-1092]
16 _DISPLAY_MS           0                 13[1093-1105]
17 BBOX                  5                  4[1106-1109]
                         Z
                         X
                         Y
                         XX
                         YY
18 BBAR                  5                  4[1110-1113]
                         Z
                         X
                         Y
                         XX
                         YY
19 BTEXT                 4                  4[1114-1117]
                         Z
                         A$
                         X
                         Y
20 _SET_MENU             0                 26[1118-1143]
21 _DISPLAY_MN           2                 38[1144-1181]
                         N
                         F
22 _UNPACK               3                  5[1182-1186]
                         N
                         X
                         Y
23 _ZOOM                 0                 14[1187-1200]
24 _LIMIT_MOUSE          0                  4[1201-1204]
25 _DISPLAY_ALL          0                  9[1205-1213]
26 _DISPLAY_SEP          0                 11[1214-1224]
27 _CLEAN_SC2            0                  6[1225-1230]
28 _SAVE_BANK            0                 35[1231-1265]
29 _LOAD_BANK            2                 67[1266-1332]
                         N$
                         ST
30 _GRAB_BANK            0                 56[1333-1388]
31 _SET_PALETTE          0                  7[1389-1395]
32 _GET_PALETTE          0                  7[1396-1402]
33 _GRAB_BOB             2                  9[1403-1411]
                         N
                         D
34 _SEND_BANK            0                 43[1412-1454]
35 _GET_BOB              0                 32[1456-1487]
36 _LOOSE_BOB            0                 11[1488-1498]
37 _GET_TYPE             0                  6[1499-1504]
38 _PUT_BOB              0                 17[1505-1521]
39 _INS_BOB              0                 16[1522-1537]
40 _DEL_BOB              0                 10[1538-1547]
41 _DEL_BANK             0                  5[1548-1552]
42 _REDUCE_BOB           5                  5[1553-1557]
                         N
                         X
                         Y
                         SX
                         SY
43 _DISPLAY_MINI_MENU    0                  7[1558-1564]
44 _INFO                 2                 11[1565-1575]
                         A$
                         C
45 _DIALOG               2                 33[1576-1608]
                         A$
                         B$
46 _NOT_DONE             0                  3[1609-1611]
47 _SET_HOTSPOT          0                 19[1612-1630]
48 _RES_MENU             0                  9[1631-1639]
49 _DISC_ERROR           0                  6[1640-1645]
50 _FSEL                 3                 14[1646-1659]
                         F$
                         T1$
                         T2$
51 _ANIM                 0                 75[1660-1734]
52 PABOUT                0                 14[1735-1748]
53 _ROPTION              0                  4[1749-1752]
54 _SLUP                 0                  7[1753-1759]
55 _SLSL                 0                 10[1760-1769]
56 _PALETTE              0                 81[1770-1850]
57 _SETAIR               0                 35[1851-1885]
58 _NOPDR                0                  3[1886-1888]
59 _RUNDO                0                  3[1889-1891]
60 _CUNDO                0                  3[1892-1894]
61 _PICK                 0                 14[1895-1908]
62 _SBORD                0                  3[1909-1911]
63 _SPAT                 0                  5[1912-1916]
64 _ACOL                 0                  4[1917-1920]
65 _COORDOFF             0                  3[1921-1923]
66 _COLOUR               0                  5[1924-1928]
67 _XZOOM                0                 26[1929-1954]
68 _YZOOM                0                 25[1955-1979]
69 _XYSIZE               0                 53[1980-2032]
70 _SETZOOM              0                 20[2033-2052]
71 _GRABIT               0                 76[2053-2128]
72 _GBLPIC               0                 25[2129-2153]
73 _GRAB_FIND            0                 15[2154-2168]
End :-)
Code:
Arg File :ab3ded.asc
Loading...done.
Parsing Src...''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''..Done.


GLOBAL VARS:
------------
MXP, MZ, MCP, TEAM, MOBJ, DEFNCOL, OB$(), ECHO(), CO(), I(), SGAD(), D_INK(), GPAL(), LW(), GAD24(), SAM$(), GAD16(), GAD10(), LOCK(), OPS(), LOPS(), SPRDATA(), TELZO(), TELX(), TELZ(), CPTUL(), USED(), WB(), UWB(), BUT$(), PX(), PY(), ZO(), ZP(), WT(), ZW(), ZH(), ZC(), ZB(), UZB(), OBX(), OBZ(), ZZ(), UZH(), ZPBR(), ZRG(), ZFG(), ZWG(), WD(), ZD(), DC(), UZRG(), UZFG(), UZWG(), CPTX(), CPTY(), CPTZ(), ZCPT(), UZCPT(), RB(), FB(), VCPL(), VCPR(), LP(), RP(), ZU(), PU(), PN(), X(), Y(), D(), SOW(), PW(), CORD(), LIFTC(), WLI(), ZLI(), DMX(), DMZ(), DMY(), PCW(), SWWL(), SWP(), KEYGRAPH(), ZDPT(), ZGPT(), SGO(), DWPT(), ZLIPT(), ZDOPT(), DRT(), DLT(), LRT(), LLT(), WATH(), WABH(), ZWA(), WASP(), WAPT(), DR$(), DL$(), IACE$(), LR$(), LL$(), BSFX(), SWT(), BWT(), LSP(), LEVELTEXT$(), M_REM2(), A$, ALTO, BSFX, CCP, CMODE, CONTP, COBJ, CP, CZ, CZ2, D1, DLOCKED, DWALL, EBX, EZONE, FB, FL, FLH, FR, F_IDCMP, LG, LLOCKED, LS, LWCHUNK, LWGW, MP, MPX, MU, MZ, M, NCPT, NDO, NL, NO, NP, NZ, NWA, OBTO, OFB, OP, OPO, OT, OZFG, OZFGS, OZRG, OZRGS, P1, P2, PAN, PANF, PBR, PBRF, PDTA, PDTAF, PERMCALC, PLX, PLY, PLZ, PLX2, PLY2, PLZ2, PZ, RB, RBO, RECPT, RFH, SC, STQ, STRTANIM, SWN, SCR_MODE, TEAM, TL, TR, TW, TXT, UPORLO, VT, VSUM, WAH, WGH, WGW, X, XL, XM, XO, XRES, XC, Y, YM, YO, YC, YRES, ZC, ZE, ZFG, ZFGS, ZGW, ZIP, ZRG, ZRGS, ZWG, ZWGC, ZWGL, KSH, DIAL1, DIAL2, SHMODE, GRIDSET, VER$, VDA$, AUTOSTAIR1, AUTOSTAIR1B, AUTOSTAIR2, AUTOSTAIR3, LINK, PALC, GLINK, GCLIP, GCHECK, GFILE$, PRE1, MPTR, LRO, LGU, O_POINT, O_CPT, CPACK$, P_PRG$,
Source File : ab3ded.asc
Source Lines: 12666

demo has 234 procedures:
n#  name                  args(type)      lines[00000-00000]
------------------------------------------------------------
 1 _DO_MAIN              0                  90[00120-00209]
 2 _IMCHECK              0                 115[00210-00324]
 3 _IPICKBUTTON          0                  11[00325-00335]
 4 _CHECK_TOOLS          0                  57[00341-00397]
 5 _INIT_MSCREEN         0                 308[00398-00705]
 6 _CLOSE_MAINSCREEN     0                  14[00706-00719]
 7 _SET_E_PALETTE        0                  32[00720-00751]
 8 _SET_M_PALETTE        0                   5[00752-00756]
 9 _SHOW_MENU            0                  23[00757-00779]
10 _NEW_LEVEL            0                  53[00780-00832]
11 _END_PROGRAM          0                  23[00833-00855]
12 _STATISTICS           0                  89[00856-00944]
13 _OPT_ZONES            0                  64[00945-01008]
14 _OPT_POINTS           0                  40[01009-01048]
15 _INIT_PROGRAM         0                 167[01049-01215]
16 _ICONIFY              0                  15[01216-01230]
17 _N_SETLEVELTEXT       0                  58[01234-01291]
18 LK                    0                   3[01293-01295]
19 DK                    0                   3[01296-01298]
20 PK                    0                   3[01299-01301]
21 MYPEEK                0                   6[01302-01307]
22 _REDRAW               0                  71[01311-01381]
23 _OPHELP               0                  41[01382-01422]
24 _SHOWOBJADD           0                  27[01428-01454]
25 _SHOWHEIGHTS          0                  58[01455-01512]
26 _SHOWWALLBRIGHT       0                  12[01513-01524]
27 _SHOWBACKSFX          0                  14[01525-01538]
28 _SHOWWATER            0                   5[01539-01543]
29 _SHOWDEFWALL          0                   3[01544-01546]
30 _SHOWBRIGHTSLIDE      0                  33[01547-01579]
31 _SHOWDOOR             0                  35[01580-01614]
32 _SHOWLIFT             0                  45[01615-01659]
33 _SHOWDEFGFX           0                 239[01660-01898]
34 _SHOWDEFGRAPH         0                  57[01899-01955]
35 _SHOWDEFROOFGRAPH     0                  25[01956-01980]
36 _SHOWDEFFLOORGRAPH    0                  21[01981-02001]
37 _IPICKLBUTTON         0                  21[02007-02027]
38 _COND_DEFGFX          0                 199[02029-02227]
39 _COND_DEFDOOR         0                  45[02228-02272]
40 _COND_DEFLIFT         0                  51[02273-02323]
41 _COND_DEFHEIGHTS      0                  71[02324-02394]
42 _COND_DEFWALLBRIGHT   0                  12[02395-02406]
43 _COND_DEFWATER        0                  10[02407-02416]
44 _COND_DEFWALL         0                   7[02417-02423]
45 _COND_DEFBACKSFX      0                  13[02424-02436]
46 _COND_ADDOBJ          0                  24[02437-02460]
47 _COND_BRIGHTSLIDE     0                  76[02461-02536]
48 _COND_DEFGRAPH        0                  22[02537-02558]
49 _COND_DEFROOFGRAPH    0                  10[02559-02568]
50 _COND_DEFFLOORGRAPH   0                  10[02569-02578]
51 _INITDEF              0                  39[02584-02622]
52 _INITDEFBACKSFX       0                  26[02624-02649]
53 _INITOBJ              0                  42[02650-02691]
54 _INITDEFGRAPH         0                  23[02692-02714]
55 _INITDEFROOFGRAPH     0                  22[02715-02736]
56 _INITDEFLIFT          0                  57[02737-02793]
57 _INITDEFZONE          0                  17[02794-02810]
58 _INITDEFDOOR          0                  47[02811-02857]
59 _INITBRIGHTSLIDE      0                  42[02858-02899]
60 _INITDEFHEIGHTS       0                  41[02900-02940]
61 _INITWALLBRIGHT       0                  16[02941-02956]
62 _INITDEFWATER         0                  22[02957-02978]
63 _INITDEFINFO          0                  49[02979-03027]
64 _INITDEFWALL          0                  21[03028-03048]
65 _INITDEFGFX           0                  15[03049-03063]
66 _INITSPRITE           0                  16[03064-03079]
67 _TIDYDEF              0                  35[03085-03119]
68 _TIDYGEN2             0                   8[03121-03128]
69 _TIDYGEN              0                   5[03129-03133]
70 _TIDYDEFGRAPH         0                   6[03134-03139]
71 _TIDYDEFROOFGRAPH     0                   4[03140-03143]
72 _TIDYDEFZONE          0                   9[03144-03152]
73 _TIDYPLACEPLAYER      0                   4[03153-03156]
74 _TIDYDEFGFX           0                  16[03157-03172]
75 _TIDYSPRITE           0                  11[03173-03183]
76 _MOUSEHIT             0                  39[03189-03227]
77 _M_PTADD              0                  35[03229-03263]
78 _M_PTMOVE             0                   6[03264-03269]
79 _M_DEFZONE            0                 108[03270-03377]
80 _M_DEFWALL            0                  43[03378-03420]
81 _M_DEFHEIGHT          0                  34[03421-03454]
82 _M_DEFROOFGRAPH       0                  25[03455-03479]
83 _M_DEFWALLGRAPH       0                  22[03480-03501]
84 _M_DEFFLOORGRAPH      0                  25[03502-03526]
85 _M_DEFUPPERROOFGRAPH  0                  25[03527-03551]
86 _M_DEFUPPERWALLGRAPH  0                  22[03552-03573]
87 _M_DEFUPPERFLOORGRAP  0                  25[03574-03598]
88 _M_OBJADD             0                  83[03599-03681]
89 _M_OBJDEL             0                  18[03682-03699]
90 _M_OBJMOVE            0                  17[03700-03716]
91 _M_PLACEPLAYER        0                  15[03717-03731]
92 _M_DEFDOOR            0                  65[03732-03796]
93 _M_DEFLIFT            0                  65[03797-03861]
94 _M_DEFTELEPORT        0                  20[03862-03881]
95 _M_DEFUPPERBRIGHT     0                  25[03882-03906]
96 _M_DEFLOWERBRIGHT     0                  25[03907-03931]
97 _M_DEFWATERANIM       0                  13[03932-03944]
98 _M_DEFWALLBRIGHT      0                  26[03945-03970]
99 _M_CPTNEARTOZONE      0                  24[03971-03994]
100 _M_CPTNEARTOUPPERZON  0                  24[03995-04018]
101 _M_PLACECONTPT        0                  15[04019-04033]
102 _M_CPTMOVE            0                  13[04034-04046]
103 _M_CONNECTCONT        0                  73[04047-04119]
104 _M_DEFBACKSFX         0                   8[04120-04127]
105 _M_DEFGFX             0                  15[04128-04142]
106 _VANILLAKEY           0                  12[04148-04159]
107 _V_DEFZONE            0                  23[04161-04183]
108 _V_DEFWALL            0                  23[04184-04206]
109 _V_DEFWALLGRAPH       0                  19[04207-04225]
110 _V_DEFUPPERWALLGRAPH  0                  18[04226-04243]
111 _V_OBJADD             0                  70[04244-04313]
112 _V_PLACEPLAYER        0                   9[04314-04322]
113 _V_CPTNEARTOZONE      0                  62[04323-04384]
114 _V_CPTMOVE            0                   7[04385-04391]
115 _V_CONNECTCONT        0                  73[04392-04464]
116 _V_PLACECONTPT        0                  35[04465-04499]
117 _EVERY                0                   9[04505-04513]
118 _EVERY_SHOWWALL       0                  11[04515-04525]
119 _EVERY_MARKPOINT      0                  12[04526-04537]
120 _SELSFX               2                   5[04543-04547]
                         M
                         N$
121 _SELGFX               2                   5[04548-04552]
                         M
                         N$
122 _SELVEC               2                   5[04553-04557]
                         M
                         N$
123 _SELOBJ               2                   4[04558-04561]
                         M
                         N$
124 _SELOBJ2              3                   5[04562-04566]
                         M
                         AD
                         N$
125 _SELBUL               2                   4[04567-04570]
                         M
                         N$
126 _SELBUL2              3                   5[04571-04575]
                         M
                         AD
                         N$
127 _SELALI               2                   4[04576-04579]
                         M
                         N$
128 _SELALI2              3                   5[04580-04584]
                         M
                         AD
                         N$
129 _SELGEN               6                  45[04585-04629]
                         ADR_I
                         NR_I
                         J_I
                         T$
                         M
                         M2
130 _SELLEVEL             0                  34[04631-04664]
131 _FRAMEPICK            3                 102[04666-04767]
                         M
                         OG
                         SV
132 _VFRAMEPICK           3                  42[04768-04809]
                         M
                         OG
                         SV
133 _OBJFRAMEPICK         3                 123[04810-04932]
                         M
                         OB
                         SV
134 _DUMMY                0                   2[04933-04934]
135 _REM_ZONE             0                   3[04936-04938]
136 _REM_ZONE2            0                  18[04939-04956]
137 _NEWZONE              0                  10[04957-04966]
138 _PLAY_SAMPLE          0                  47[04967-05013]
139 _S_PLAY_TRACK         0                   7[05015-05021]
140 _PLAY_TRACK           0                   7[05022-05028]
141 _KILL_TRACK           0                   4[05029-05032]
142 _SAVE_LEVEL           0                1029[05038-06066]
143 _LOAD_LEVEL           0                 212[06067-06278]
144 _CLIP_LEVEL           0                 687[06279-06965]
145 _LINK_LEVEL           0                  58[06966-07023]
146 _MAKE_LEVEL           2                  23[07024-07046]
                         F$
                         F
147 _CHECK_LEVEL          0                 131[07047-07177]
148 _LOAD_LINK            0                  14[07179-07192]
149 _SAVE_LINK            0                  14[07193-07206]
150 _LOAD_DEF_LINK        0                  56[07207-07262]
151 _SAVE_DEF_LINK        0                  10[07263-07272]
152 _LOAD                 2                  24[07274-07297]
                         B
                         F$
153 _PACK                 0                  27[07298-07324]
154 _ZOSHOW               2                  55[07330-07384]
                         Z
                         C
155 _OBJPUT               3                  10[07385-07394]
                         X
                         Y
                         C
156 _CONNECTED            3                  31[07395-07425]
                         A
                         B
                         P
157 _JOIN                 3                  15[07426-07440]
                         SP
                         EP
                         C
158 _JOINCOORDS           5                   7[07441-07447]
                         X1
                         Y1
                         X2
                         Y2
                         C
159 HIGHCONT              0                  13[07448-07460]
160 PTSHOW                3                  16[07461-07476]
                         WX
                         WY
                         C
161 CPTPUT                3                  11[07477-07487]
                         WX
                         WY
                         C
162 PTCLR                 2                   3[07488-07490]
                         WX
                         WY
163 _OUTLINE              0                   9[07491-07499]
164 FINDNEAR              2                  12[07505-07516]
                         WX
                         WY
165 FINDNEARZONE          3                  13[07517-07529]
                         Z
                         WX
                         WY
166 _FINDNEARZONE2        3                  13[07530-07542]
                         Z
                         WX
                         WY
167 FINDOBJ               2                  10[07543-07552]
                         WX
                         WY
168 ZOGET                 2                  22[07553-07574]
                         WX
                         WY
169 FINDCONT              2                  10[07575-07584]
                         X
                         Y
170 _GL_OBJGFX            0                  60[07590-07649]
171 _GL_SETOBJFRAMES      0                 215[07650-07864]
172 _GL_SETVEC            0                  60[07865-07924]
173 _GL_SETBULLET         0                 188[07925-08112]
174 _GL_SETGUN            0                  82[08113-08194]
175 _GL_SETALIEN          0                 368[08195-08562]
176 _GL_SETOBJECT         0                 299[08563-08861]
177 _GL_SETPLAYER         0                  43[08862-08904]
178 _GL_SETFLOORDAM       0                  67[08905-08971]
179 _GL_LEVELS            0                 124[08972-09095]
180 _GL_LGFX              0                 123[09096-09218]
181 _GL_SFX               0                 105[09219-09323]
182 _GL_SET_ANIM          4                 481[09324-09804]
                         ANBAS
                         TYPE
                         T$
                         NRADR
183 _GL_IGETPAL           2                  39[09806-09844]
                         SC
                         DST
184 _TL_OBJFRAMECONV      0                  92[09846-09937]
185 _TL_CONVHQN           0                 196[09938-10133]
186 _TL_PACK_FRAME_DATA   0                 129[10134-10262]
187 _TL_LEVELINTRO        0                 106[10264-10369]
188 _TL_PACKFILE          0                  18[10370-10387]
189 _TL_DPFILE            0                  18[10388-10405]
190 _TL_WALL2IFF          0                  46[10406-10451]
191 _TL_FRAME2IFF         0                  85[10452-10536]
192 _TL_FIB2SAMPLE        0                  51[10537-10587]
193 _TL_IFF2WALL          0                  80[10588-10667]
194 _TL_BUILDARCHIVE      0                 345[10668-11012]
195 _TL_ED_CFLOOR         0                  30[11015-11044]
196 _TL_CALL_PAINT        0                  21[11045-11065]
197 _TL_N_FLOOR2IFF       0                  19[11068-11086]
198 _FLOOR2SCREEN         0                  23[11087-11109]
199 _TL_N_IFF2FLOOR       0                  41[11110-11150]
200 _SCREEN2FLOOR         0                  12[11151-11162]
201 _TL_N_TEXT2IFF        0                  35[11163-11197]
202 _TL_N_IFF2TEXT        0                  58[11198-11255]
203 _TL_N_BACK2IFF        0                  32[11256-11287]
204 _TL_N_IFF2BACK        0                  39[11288-11326]
205 _TL_N_SAMP2FIB        0                  51[11327-11377]
206 _PAL2ISCREEN          0                   9[11378-11386]
207 _TL_BUILDGLARE        0                  48[11387-11434]
208 _N_MSG                2                   4[11440-11443]
                         N$
                         TXT$
209 _N_MSG2               2                  28[11444-11471]
                         N$
                         NTXT
210 _R_N_MSG              0                   6[11472-11477]
211 _S_FILE               5                  54[11478-11531]
                         M
                         T$
                         D$
                         P$
                         F$
212 _TLINES               6                  23[11532-11554]
                         T1$
                         T2$
                         T3$
                         T4$
                         T5$
                         T6$
213 _TLINE                0                   5[11555-11559]
214 _WRONG                2                   3[11560-11562]
                         G
                         N
215 _ERROR                3                 116[11563-11678]
                         S
                         G
                         N
216 _ERRTXT               2                   4[11679-11682]
                         E0$
                         E1$
217 _SURE                 2                   5[11683-11687]
                         T0$
                         T$
218 _SHOW_AG              0                   7[11689-11695]
219 _I_SAVEIFFPIC         2                  97[11697-11793]
                         SCR
                         F$
220 _ILBM_FROM_BANK       3                 158[11799-11956]
                         W_SCR
                         W_BNK
                         W_FLGS
221 _ILBM_TO_BANK         2                  90[11957-12046]
                         W_SCR
                         W_BNK
222 _SCR_ID_LOAD          3                 132[12054-12185]
                         SCRNB
                         FILE$
                         MAP
223 _LOADSAM              2                  56[12186-12241]
                         NAME$
                         BNK
224 _ALLOCSPRDATA         2                  71[12249-12319]
                         BNK
                         BNB
225 _AMOS2STR             0                  27[12321-12347]
226 _AMOS2ITXT            7                  41[12349-12389]
                         CE
                         CF
                         MD
                         X
                         Y
                         FONT
                         A$
227 _FREEALLITXT          0                  26[12391-12416]
228 _LOCKWINDOW           0                  30[12421-12450]
229 _UNLOCKWINDOW         2                  28[12452-12479]
                         WND
                         REQ
230 _REQUESTCHOICE        4                  31[12481-12511]
                         WND
                         TITLE$
                         BODY$
                         GAD$
231 _REQUESTCHOICE_PTR    4                  25[12513-12537]
                         WND
                         TITLE
                         BODY
                         GAD
232 _REQUESTFONT          2                  58[12540-12597]
                         WND
                         TITLE$
233 _REQUESTSCREEN        0                  54[12599-12652]
234 _FREETEXTATTRIB       0                  10[12654-12663]
End :-)

[/spoiler]
Zitieren
#2
Inzwischen werden alle Proceduren auch nach Statement/Functions-Charakter klassifiziert; Labels erfaßt sowie die ersten Sub-Routinen direkt erkannt. Speicherverwaltung mußte ich ja schon umstellen, weil die Project-Struktur zu groß wurde.
Zitieren
#3
Mittlerweile sind (hoffentlich) alle Subs gefunden, Sonderfälle wie "On X Gosub ...." werden gefunden, aber noch nicht behandelt.
Jetzt kann ich anfangen, alle Parsing-Pässe gezielt auf den jeweiligen Scope (Main, Procedure, Sub...) anzupassen bzw. anzuwenden.
Bis jetzt werden alle Aufrufe auf Label und Subroutinen gezählt, für Proceduren steht das noch aus. Smile
Zitieren
#4
Wink 
Hier die Ausgaben der aktuellen Version.

Code:
Arg File :pubcrawl.asc
Loading...done.
Parsing Src>
pass #1>'''''''''..'''''''''....''..'.'''''DD'''''''''''''''..'....................................Done.
parse for subs...
pass #2 done.
Source File : pubcrawl.asc
Source Lines: 794
demo has 27 gvars
demo has 2 garrays
demo has 2 labels
demo has 0 subroutines
demo has 16 statements
demo has 0 functions

Lines of Src to parse as src :672 (122 skipped).

listing 29 gvars(2 garrays):
-------------------
Global Arrays(2):
SNAP$(), _BOB$(),
Global Variables(27):
MEM, POS, _SCREEN, MANX, MANY, C, TEMP_X, TEMP_Y, _STEP, _MANIM, _BOB, FRAME, DR, DEST$, MOV$, UP$, DN$, LT$, RT$, _COLLIDE, CHECK, FOOD, LIVES, NAME$, SCORE, _BOB, _STEP

listing 16 statements, 0 functions:
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
 1[S ] _MOVEMAN              0                  54[00102-00155]
 2[S ] _UP                   0                  21[00159-00179]
 3[S ] _DOWN                 0                  21[00181-00201]
 4[S ] _LEFT                 0                  21[00203-00223]
 5[S ] _RIGHT                0                  21[00225-00245]
 6[S ] _DRAWSCREEN           0                  33[00247-00279]
 7[S ] DETECT                0                  15[00281-00295]
 8[S ] _DEFPATH              0                  39[00297-00335]
 9[S ] _GETREADY             0                  25[00338-00362]
10[S ] _SCREEN0              0                  50[00367-00416]
11[S ] _SCREEN1              0                  56[00420-00475]
12[S ] _SCREEN2              0                  60[00478-00537]
13[S ] _SCREEN3              0                  59[00540-00598]
14[S ] _SCREEN4              0                  60[00602-00661]
15[S ] _SCREEN5              0                  60[00664-00723]
16[S ] _SCREEN6              0                  60[00725-00784]
listing 2 labels:
n# name            line[00000]  Calls[000]
------------------------------------------
 1 BEGIN                [00051][  1]
 2 _NEWSCREEN           [00063][  2]
End :-)
Code:
Arg File :objed.asc
Loading...done.
Parsing Src>
pass #1>''''''''''''''...'''.'.'.''.'.D..'.'.....''''''''''''.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.Done.
parse for subs...
pass #2 done.
Source File : objed.asc
Source Lines: 2168
  DATA-lines: 14
demo has 131 gvars
demo has 5 garrays
demo has 101 labels
demo has 36 subroutines
demo has 63 statements
demo has 10 functions

Lines of Src to parse as src :1880 (274 skipped).

listing 136 gvars(5 garrays):
-------------------
Global Arrays(5):
MN$(), MN1$(), FLAG(), CLR(), BA(),
Global Variables(131):
SXMAX, SYMAX, YDISP, SYWORK, MNON, MN1, MN2, NMN, NMN1, BMN, RES, NCOL, PAL$, SXZOOM, SXBZOOM, SXMZOOM, SYZOOM, SCMODE, XZM, YZM, SXZM, SYZM, XOZM, YOZM, SXOZM, SYOZM, ZM, XBB, YBB, SXBB, SYBB, OXBB, OYBB, SXRBB, SYRBB, SXMBB, SYMBB, HXBB, HYBB, CHANGED, CUBB, NPBB, NPLANS, HSPOT, BCHANGED, BNAME$, VER$, BTYPE, BTYPE$, BGRB, XBK, YBK, SXBK, SYBK, XPT, YPT, SXPT, SYPT, XMS, YMS, SXMS, SYMS, CLRF, CPAT, CPNT, MX, MY, MS, MZ, MK, FMK, FMZ, FMS, FWT, MK3, OMS, SCB1, SCB2, XCOO, YCOO, CRD, ALERT, INF, INF$, MOUS, XSP, NBSP, SXSP, SYSP, XSL, YSL, SXSL, SYSL, SXRD, SYRD, SSL, ESL, XPAL, YPAL, PBANK, LBANK, SPCUR, PDR, BACK, MFLAG, ANMAX, SPA, ANX, ANY, FUNDO, CUNDO, PAIR, RAIR, PNAME$, GBRES, GBNP, GBSX, GBSY, GBNC, GBBK, GBSC, FMK, SMK, FMZ, SMZ, FMS, SMS, FMX, SMX, FMY, SMY

listing 63 statements, 10 functions:
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[S ] _DISPLAY_PAT          0                   9[00863-00871]
  2[S ] _COPY_HIDE            0                   3[00872-00874]
  3[S ] _WAIT_NOMK            0                   7[00875-00881]
  4[S ] _MOUSE                0                  19[00882-00900]
  5[S ] _INIT_MENUS           0                  11[00901-00911]
  6[S ] _INIT_WORK            0                  73[00912-00984]
  7[S ] _SET_FLAGS            0                   4[00985-00988]
  8[S ] _SET_FLAG             0                   4[00989-00992]
  9[S ] _DISPLAY_BOB          0                  17[00993-01009]
10[S ] _DISPLAY_ZOOM         0                  15[01010-01024]
11[S ] _DISPLAY_XZOOM        0                  14[01025-01038]
12[S ] _DISPLAY_YZOOM        0                  14[01039-01052]
13[S ] _DISPLAY_BANK         0                  27[01053-01079]
14[S ] _DISPLAY_SLIDER       0                  10[01080-01089]
15[S ] _CLIP                 0                   3[01090-01092]
16[S ] _DISPLAY_MS           0                  13[01093-01105]
17[S ] BBOX                  5                   4[01106-01109]
                                (Z/X/Y/XX/YY)
18[S ] BBAR                  5                   4[01110-01113]
                                (Z/X/Y/XX/YY)
19[S ] BTEXT                 4                   4[01114-01117]
                                (Z/A$/X/Y)
20[S ] _SET_MENU             0                  26[01118-01143]
21[S ] _DISPLAY_MN           2                  38[01144-01181]
                                (N/F)
22[S ] _UNPACK               3                   5[01182-01186]
                                (N/X/Y)
23[S ] _ZOOM                 0                  14[01187-01200]
24[S ] _LIMIT_MOUSE          0                   4[01201-01204]
25[S ] _DISPLAY_ALL          0                   9[01205-01213]
26[S ] _DISPLAY_SEP          0                  11[01214-01224]
27[S ] _CLEAN_SC2            0                   6[01225-01230]
28[S ] _SAVE_BANK            0                  35[01231-01265]
29[S ] _SET_PALETTE          0                   7[01389-01395]
30[S ] _GET_PALETTE          0                   7[01396-01402]
31[S ] _GRAB_BOB             2                   9[01403-01411]
                                (N/D)
32[S ] _GET_BOB              0                  32[01456-01487]
33[S ] _GET_TYPE             0                   6[01499-01504]
34[S ] _DEL_BOB              0                  10[01538-01547]
35[S ] _DEL_BANK             0                   5[01548-01552]
36[S ] _REDUCE_BOB           5                   5[01553-01557]
                                (N/X/Y/SX/SY)
37[S ] _DISPLAY_MINI_MENU    0                   7[01558-01564]
38[S ] _INFO                 2                  11[01565-01575]
                                (A$/C)
39[S ] _NOT_DONE             0                   3[01609-01611]
40[S ] _RES_MENU             0                   9[01631-01639]
41[S ] _DISC_ERROR           0                   6[01640-01645]
42[S ] _ANIM                 0                  75[01660-01734]
43[S ] PABOUT                0                  14[01735-01748]
44[S ] _ROPTION              0                   4[01749-01752]
45[S ] _SLUP                 0                   7[01753-01759]
46[S ] _SLSL                 0                  10[01760-01769]
47[S ] _PALETTE              0                  81[01770-01850]
48[S ] _SETAIR               0                  35[01851-01885]
49[S ] _NOPDR                0                   3[01886-01888]
50[S ] _RUNDO                0                   3[01889-01891]
51[S ] _CUNDO                0                   3[01892-01894]
52[S ] _PICK                 0                  14[01895-01908]
53[S ] _SBORD                0                   3[01909-01911]
54[S ] _SPAT                 0                   5[01912-01916]
55[S ] _ACOL                 0                   4[01917-01920]
56[S ] _COORDOFF             0                   3[01921-01923]
57[S ] _COLOUR               0                   5[01924-01928]
58[S ] _XZOOM                0                  26[01929-01954]
59[S ] _YZOOM                0                  25[01955-01979]
60[S ] _XYSIZE               0                  53[01980-02032]
61[S ] _SETZOOM              0                  20[02033-02052]
62[S ] _GRABIT               0                  76[02053-02128]
63[S ] _GBLPIC               0                  25[02129-02153]
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[F!] _DIALOG               2                  33[01576-01608]
                                (A$/B$)
  2[F$] _SET_HOTSPOT          0                  19[01612-01630]
  3[F$] _FSEL                 3                  14[01646-01659]
                                (F$/T1$/T2$)
  4[Fi] _LOAD_BANK            2                  67[01266-01332]
                                (N$/ST)
  5[Fi] _GRAB_BANK            0                  56[01333-01388]
  6[Fi] _SEND_BANK            0                  43[01412-01454]
  7[Fi] _LOOSE_BOB            0                  11[01488-01498]
  8[Fi] _PUT_BOB              0                  17[01505-01521]
  9[Fi] _INS_BOB              0                  16[01522-01537]
10[Fi] _GRAB_FIND            0                  15[02154-02168]
listing 101 labels:
n# name            line[00000]  Calls[000]
------------------------------------------
  1 _ABOUT               [00237][  0]
  2 _MNQUIT              [00239][  0]
  3 _MNMAIN              [00259][  2]
  4 _MINF                [00261][  0]
  5 _NEWINF              [00266][  8]
  6 _MNANIM              [00269][  0]
  7 _MNDISC              [00272][  0]
  8 _DSINF               [00274][  0]
  9 _DSLOAD              [00280][  0]
10 _DSMERGE             [00296][  0]
11 _DSSAVAS             [00303][  0]
12 _DSSAVE              [00317][  0]
13 _MNBANK              [00327][  0]
14 _BKGET               [00328][  0]
15 _BKPUTTO             [00329][  0]
16 _BKPUT               [00332][  0]
17 _BKP                 [00335][  1]
18 _BKINS               [00339][  0]
19 _BKDEL               [00340][  0]
20 _BKNEW               [00352][  0]
21 _LOOSIT              [00359][  7]
22 _GBBACK              [00362][  0]
23 _GBE                 [00370][  0]
24 _GBOMM               [00371][  1]
25 _MNGRAB              [00373][  0]
26 _GBINF               [00374][  0]
27 _GBLOAD              [00384][  0]
28 _GBGRAB              [00385][  0]
29 _GBMOD1              [00402][  0]
30 _GBMOD2              [00403][  0]
31 _GBMOD3              [00404][  0]
32 _HSOUT               [00407][  0]
33 _MNHSPT              [00408][  0]
34 _HSDRAW              [00409][  0]
35 _HSET                [00410][  0]
36 _HSS1                [00419][  0]
37 _HSS2                [00420][  0]
38 _HSS3                [00421][  0]
39 _MNRES               [00424][  0]
40 _SRES                [00425][  0]
41 _SNCOL               [00430][  0]
42 _NOHI                [00438][  2]
43 _SPCUR               [00441][  1]
44 _SPALETTE            [00453][  0]
45 _SPLOT0              [00458][  0]
46 _PLOT0               [00460][  0]
47 _SPLOT1              [00462][  0]
48 _PLOT1               [00464][  0]
49 _SLINE               [00468][  0]
50 _LINE                [00470][  0]
51 _SBOX                [00475][  0]
52 _BOX                 [00476][  0]
53 _SBAR                [00479][  0]
54 _BBAR                [00480][  0]
55 _BAR                 [00481][  0]
56 _SELL                [00491][  0]
57 _ELL                 [00492][  0]
58 _POS                 [00499][  2]
59 _STEXT               [00507][  0]
60 _TEXT                [00508][  0]
61 _SAIR                [00529][  0]
62 _AIR                 [00533][  0]
63 _SPAINT              [00546][  0]
64 _PAINT               [00547][  0]
65 _SCROL1              [00553][  0]
66 _SCROL2              [00554][  0]
67 _SCROL0              [00555][  1]
68 _SCROLA              [00556][  0]
69 _SCROLB              [00562][  0]
70 _SCROLX              [00578][  0]
71 _GRAB                [00583][  0]
72 _GRAB0               [00585][  0]
73 _GRAB1               [00588][  0]
74 _RBLOC               [00604][  0]
75 _GBLOC               [00605][  1]
76 _GBLOC0              [00607][  0]
77 _GBLOC1              [00635][  0]
78 _GBLOC2              [00653][  0]
79 _BBE                 [00661][  4]
80 _BB                  [00662][  3]
81 _BBD                 [00667][  1]
82 _SDRAW               [00676][  0]
83 _DRAW0               [00679][  0]
84 _DRAW1               [00700][  0]
85 _DRAW2               [00720][  0]
86 _GETBACK             [00721][  3]
87 _PUTBACK             [00731][  7]
88 _DELBACK             [00732][  4]
89 _EFFBACK             [00733][  3]
90 _UNDO                [00736][  0]
91 _CLR                 [00748][  0]
92 _XSYM                [00756][  0]
93 _COPY_HIDE           [00764][  0]
94 _YSYM                [00776][  0]
95 _ROT                 [00789][  0]
96 _ROTATE              [00827][  2]
97 _SCLRF               [00838][  0]
98 _DMODE               [00844][  0]
99 _COORD               [00849][  2]
100 _SZOOM               [00860][  0]
101 _SFLAG               [00861][  2]
listing 36 subroutines:
n#  name                        lines[00000-00000] Calls[000]
-----------------------------------------------------
  1 _ABOUT                   1[00237-00237] [  0]
  2 _MNMAIN                  1[00259-00259] [  0]
  3 _NEWINF                  1[00266-00266] [  8]
  4 _MNANIM                  1[00269-00269] [  0]
  5 _MNBANK                  1[00327-00327] [  0]
  6 _BKGET                   1[00328-00328] [  0]
  7 _BKINS                   1[00339-00339] [  0]
  8 _LOOSIT                  1[00359-00359] [  7]
  9 _GBMOD1                  1[00402-00402] [  0]
10 _GBMOD2                  1[00403-00403] [  0]
11 _GBMOD3                  1[00404-00404] [  0]
12 _HSDRAW                  1[00409-00409] [  0]
13 _HSS2                    1[00420-00420] [  0]
14 _HSS3                    1[00421-00421] [  0]
15 _MNRES                   1[00424-00424] [  0]
16 _NOHI                    1[00438-00438] [  0]
17 _SPALETTE                1[00453-00453] [  0]
18 _BOX                     1[00476-00476] [  0]
19 _SPAINT                  1[00546-00546] [  0]
20 _SCROL0                  1[00555-00555] [  0]
21 _RBLOC                   1[00604-00604] [  0]
22 _GBLOC                   1[00605-00605] [  1]
23 _BBE                     1[00661-00661] [  4]
24 _DRAW2                   1[00720-00720] [  0]
25 _PUTBACK                 1[00731-00731] [  7]
26 _EFFBACK                 1[00733-00733] [  3]
27 _SZOOM                   1[00860-00860] [  0]
28 _SFLAG                   1[00861-00861] [  2]
29 _COORD                   1[00159-00159] [  2]
30 _SPCUR                   1[00224-00224] [  1]
31 _BB                      1[00420-00420] [  3]
32 _POS                     1[00482-00482] [  2]
33 _GETBACK                 1[00645-00645] [  3]
34 _BBD                     1[00661-00661] [  1]
35 _DELBACK                 1[00677-00677] [  4]
36 _ROTATE                  1[00799-00799] [  2]
End :-)
Code:
Arg File :quatro.asc
Loading...done.
Parsing Src>
pass #1>'''''''''''''D'''''''''''''''Done.
parse for subs...
pass #2 done.
Source File : quatro.asc
Source Lines: 1237
demo has 12 gvars
demo has 7 garrays
demo has 0 labels
demo has 0 subroutines
demo has 21 statements
demo has 2 functions

Lines of Src to parse as src :1162 (75 skipped).

listing 19 gvars(7 garrays):
-------------------
Global Arrays(7):
BD(), BX(), SC(), BEST(), OK(), OMX(), OMY(),
Global Variables(12):
MX, MY, PLYR, QUIT, NUMPLAYERS, GAMEOVER, TEMP, TEMP2, LEVEL, COUNT, ARROW$, _FONT

listing 21 statements, 2 functions:
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[S ] INIT                  0                  83[00042-00124]
  2[S ] WHERE                 0                  73[00125-00197]
  3[S ] CHKMVE                0                 118[00198-00315]
  4[S ] BUTTONS               0                  42[00316-00357]
  5[S ] CHK_BUTTONS           0                  11[00358-00368]
  6[S ] INVALID               0                  22[00369-00390]
  7[S ] HSLIDE                0                  35[00391-00425]
  8[S ] VSLIDE                0                  36[00426-00461]
  9[S ] CREDITS               0                  28[00462-00489]
10[S ] CHECKWINNER           0                   3[00490-00492]
11[S ] DEPRESS_SLIDERS       0                  36[00493-00528]
12[S ] NDGAME                0                  52[00529-00580]
13[S ] NW_GAME               0                  56[00581-00636]
14[S ] INST                  0                  37[00637-00673]
15[S ] TITLE                 0                  81[00674-00754]
16[S ] COMPUTE               0                  71[00758-00828]
17[S ] CHECKSQ               3                 167[00829-00995]
                                (P/PX/PY)
18[S ] CHKSINGLE             2                  30[01039-01068]
                                (PX/PY)
19[S ] MAKEMOVE              0                  70[01069-01138]
20[S ] SHW_BOARD             0                  24[01139-01162]
21[S ] CHK_ADVANCED          2                  75[01163-01237]
                                (PX/PY)
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[Fi] CHKHORIZ              3                  21[00996-01016]
                                (P/PX/PY)
  2[Fi] CHKVERT               3                  22[01017-01038]
                                (P/PX/PY)
End :-)
Code:
Arg File :ab3ded.asc
Loading...done.
Parsing Src>
pass #1>'''''''''''''''''''''''''''DDDDDDDDDDDDDDDDDDDD'''''''''''.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''..Done.
parse for subs...
pass #2 done.
Source File : ab3ded.asc
Source Lines: 12666
demo has 135 gvars
demo has 104 garrays
demo has 0 labels
demo has 0 subroutines
demo has 195 statements
demo has 39 functions

Lines of Src to parse as src :12024 (642 skipped).

listing 239 gvars(104 garrays):
-------------------
Global Arrays(104):
OB$(), ECHO(), CO(), I(), SGAD(), D_INK(), GPAL(), LW(), GAD24(), SAM$(), GAD16(), GAD10(), LOCK(), OPS(), LOPS(), SPRDATA(), TELZO(), TELX(), TELZ(), CPTUL(), USED(), WB(), UWB(), BUT$(), PX(), PY(), ZO(), ZP(), WT(), ZW(), ZH(), ZC(), ZB(), UZB(), OBX(), OBZ(), ZZ(), UZH(), ZPBR(), ZRG(), ZFG(), ZWG(), WD(), ZD(), DC(), UZRG(), UZFG(), UZWG(), CPTX(), CPTY(), CPTZ(), ZCPT(), UZCPT(), RB(), FB(), VCPL(), VCPR(), LP(), RP(), ZU(), PU(), PN(), X(), Y(), D(), SOW(), PW(), CORD(), LIFTC(), WLI(), ZLI(), DMX(), DMZ(), DMY(), PCW(), SWWL(), SWP(), KEYGRAPH(), ZDPT(), ZGPT(), SGO(), DWPT(), ZLIPT(), ZDOPT(), DRT(), DLT(), LRT(), LLT(), WATH(), WABH(), ZWA(), WASP(), WAPT(), DR$(), DL$(), IACE$(), LR$(), LL$(), BSFX(), SWT(), BWT(), LSP(), LEVELTEXT$(), M_REM2(),
Global Variables(135):
MXP, MZ, MCP, TEAM, MOBJ, DEFNCOL, A$, ALTO, BSFX, CCP, CMODE, CONTP, COBJ, CP, CZ, CZ2, D1, DLOCKED, DWALL, EBX, EZONE, FB, FL, FLH, FR, F_IDCMP, LG, LLOCKED, LS, LWCHUNK, LWGW, MP, MPX, MU, MZ, M, NCPT, NDO, NL, NO, NP, NZ, NWA, OBTO, OFB, OP, OPO, OT, OZFG, OZFGS, OZRG, OZRGS, P1, P2, PAN, PANF, PBR, PBRF, PDTA, PDTAF, PERMCALC, PLX, PLY, PLZ, PLX2, PLY2, PLZ2, PZ, RB, RBO, RECPT, RFH, SC, STQ, STRTANIM, SWN, SCR_MODE, TEAM, TL, TR, TW, TXT, UPORLO, VT, VSUM, WAH, WGH, WGW, X, XL, XM, XO, XRES, XC, Y, YM, YO, YC, YRES, ZC, ZE, ZFG, ZFGS, ZGW, ZIP, ZRG, ZRGS, ZWG, ZWGC, ZWGL, KSH, DIAL1, DIAL2, SHMODE, GRIDSET, VER$, VDA$, AUTOSTAIR1, AUTOSTAIR1B, AUTOSTAIR2, AUTOSTAIR3, LINK, PALC, GLINK, GCLIP, GCHECK, GFILE$, PRE1, MPTR, LRO, LGU, O_POINT, O_CPT, CPACK$, P_PRG$

listing 195 statements, 39 functions:
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[S ] _DO_MAIN              0                  90[00120-00209]
  2[S ] _IPICKBUTTON          0                  11[00325-00335]
  3[S ] _CHECK_TOOLS          0                  57[00341-00397]
  4[S ] _INIT_MSCREEN         0                 308[00398-00705]
  5[S ] _CLOSE_MAINSCREEN     0                  14[00706-00719]
  6[S ] _SET_E_PALETTE        0                  32[00720-00751]
  7[S ] _SET_M_PALETTE        0                   5[00752-00756]
  8[S ] _SHOW_MENU            0                  23[00757-00779]
  9[S ] _NEW_LEVEL            0                  53[00780-00832]
10[S ] _END_PROGRAM          0                  23[00833-00855]
11[S ] _STATISTICS           0                  89[00856-00944]
12[S ] _OPT_ZONES            0                  64[00945-01008]
13[S ] _OPT_POINTS           0                  40[01009-01048]
14[S ] _INIT_PROGRAM         0                 167[01049-01215]
15[S ] _ICONIFY              0                  15[01216-01230]
16[S ] _N_SETLEVELTEXT       0                  58[01234-01291]
17[S ] LK                    0                   3[01293-01295]
18[S ] DK                    0                   3[01296-01298]
19[S ] PK                    0                   3[01299-01301]
20[S ] _REDRAW               0                  71[01311-01381]
21[S ] _OPHELP               0                  41[01382-01422]
22[S ] _SHOWOBJADD           0                  27[01428-01454]
23[S ] _SHOWHEIGHTS          0                  58[01455-01512]
24[S ] _SHOWWALLBRIGHT       0                  12[01513-01524]
25[S ] _SHOWBACKSFX          0                  14[01525-01538]
26[S ] _SHOWWATER            0                   5[01539-01543]
27[S ] _SHOWDEFWALL          0                   3[01544-01546]
28[S ] _SHOWBRIGHTSLIDE      0                  33[01547-01579]
29[S ] _SHOWDOOR             0                  35[01580-01614]
30[S ] _SHOWLIFT             0                  45[01615-01659]
31[S ] _SHOWDEFGFX           0                 239[01660-01898]
32[S ] _SHOWDEFGRAPH         0                  57[01899-01955]
33[S ] _SHOWDEFROOFGRAPH     0                  25[01956-01980]
34[S ] _SHOWDEFFLOORGRAPH    0                  21[01981-02001]
35[S ] _IPICKLBUTTON         0                  21[02007-02027]
36[S ] _COND_DEFGFX          0                 199[02029-02227]
37[S ] _COND_DEFDOOR         0                  45[02228-02272]
38[S ] _COND_DEFLIFT         0                  51[02273-02323]
39[S ] _COND_DEFHEIGHTS      0                  71[02324-02394]
40[S ] _COND_DEFWALLBRIGHT   0                  12[02395-02406]
41[S ] _COND_DEFWATER        0                  10[02407-02416]
42[S ] _COND_DEFWALL         0                   7[02417-02423]
43[S ] _COND_DEFBACKSFX      0                  13[02424-02436]
44[S ] _COND_ADDOBJ          0                  24[02437-02460]
45[S ] _COND_BRIGHTSLIDE     0                  76[02461-02536]
46[S ] _COND_DEFGRAPH        0                  22[02537-02558]
47[S ] _COND_DEFROOFGRAPH    0                  10[02559-02568]
48[S ] _COND_DEFFLOORGRAPH   0                  10[02569-02578]
49[S ] _INITDEF              0                  39[02584-02622]
50[S ] _INITDEFBACKSFX       0                  26[02624-02649]
51[S ] _INITOBJ              0                  42[02650-02691]
52[S ] _INITDEFGRAPH         0                  23[02692-02714]
53[S ] _INITDEFROOFGRAPH     0                  22[02715-02736]
54[S ] _INITDEFLIFT          0                  57[02737-02793]
55[S ] _INITDEFZONE          0                  17[02794-02810]
56[S ] _INITDEFDOOR          0                  47[02811-02857]
57[S ] _INITBRIGHTSLIDE      0                  42[02858-02899]
58[S ] _INITDEFHEIGHTS       0                  41[02900-02940]
59[S ] _INITWALLBRIGHT       0                  16[02941-02956]
60[S ] _INITDEFWATER         0                  22[02957-02978]
61[S ] _INITDEFINFO          0                  49[02979-03027]
62[S ] _INITDEFWALL          0                  21[03028-03048]
63[S ] _INITDEFGFX           0                  15[03049-03063]
64[S ] _INITSPRITE           0                  16[03064-03079]
65[S ] _TIDYDEF              0                  35[03085-03119]
66[S ] _TIDYGEN2             0                   8[03121-03128]
67[S ] _TIDYGEN              0                   5[03129-03133]
68[S ] _TIDYDEFGRAPH         0                   6[03134-03139]
69[S ] _TIDYDEFROOFGRAPH     0                   4[03140-03143]
70[S ] _TIDYDEFZONE          0                   9[03144-03152]
71[S ] _TIDYPLACEPLAYER      0                   4[03153-03156]
72[S ] _TIDYDEFGFX           0                  16[03157-03172]
73[S ] _TIDYSPRITE           0                  11[03173-03183]
74[S ] _MOUSEHIT             0                  39[03189-03227]
75[S ] _M_PTADD              0                  35[03229-03263]
76[S ] _M_PTMOVE             0                   6[03264-03269]
77[S ] _M_DEFZONE            0                 108[03270-03377]
78[S ] _M_DEFWALL            0                  43[03378-03420]
79[S ] _M_DEFHEIGHT          0                  34[03421-03454]
80[S ] _M_DEFROOFGRAPH       0                  25[03455-03479]
81[S ] _M_DEFWALLGRAPH       0                  22[03480-03501]
82[S ] _M_DEFFLOORGRAPH      0                  25[03502-03526]
83[S ] _M_DEFUPPERROOFGRAPH  0                  25[03527-03551]
84[S ] _M_DEFUPPERWALLGRAPH  0                  22[03552-03573]
85[S ] _M_DEFUPPERFLOORGRAP  0                  25[03574-03598]
86[S ] _M_OBJADD             0                  83[03599-03681]
87[S ] _M_OBJDEL             0                  18[03682-03699]
88[S ] _M_OBJMOVE            0                  17[03700-03716]
89[S ] _M_PLACEPLAYER        0                  15[03717-03731]
90[S ] _M_DEFDOOR            0                  65[03732-03796]
91[S ] _M_DEFLIFT            0                  65[03797-03861]
92[S ] _M_DEFTELEPORT        0                  20[03862-03881]
93[S ] _M_DEFUPPERBRIGHT     0                  25[03882-03906]
94[S ] _M_DEFLOWERBRIGHT     0                  25[03907-03931]
95[S ] _M_DEFWATERANIM       0                  13[03932-03944]
96[S ] _M_DEFWALLBRIGHT      0                  26[03945-03970]
97[S ] _M_CPTNEARTOZONE      0                  24[03971-03994]
98[S ] _M_CPTNEARTOUPPERZON  0                  24[03995-04018]
99[S ] _M_PLACECONTPT        0                  15[04019-04033]
100[S ] _M_CPTMOVE            0                  13[04034-04046]
101[S ] _M_CONNECTCONT        0                  73[04047-04119]
102[S ] _M_DEFBACKSFX         0                   8[04120-04127]
103[S ] _M_DEFGFX             0                  15[04128-04142]
104[S ] _VANILLAKEY           0                  12[04148-04159]
105[S ] _V_DEFZONE            0                  23[04161-04183]
106[S ] _V_DEFWALL            0                  23[04184-04206]
107[S ] _V_DEFWALLGRAPH       0                  19[04207-04225]
108[S ] _V_DEFUPPERWALLGRAPH  0                  18[04226-04243]
109[S ] _V_OBJADD             0                  70[04244-04313]
110[S ] _V_PLACEPLAYER        0                   9[04314-04322]
111[S ] _V_CPTNEARTOZONE      0                  62[04323-04384]
112[S ] _V_CPTMOVE            0                   7[04385-04391]
113[S ] _V_CONNECTCONT        0                  73[04392-04464]
114[S ] _V_PLACECONTPT        0                  35[04465-04499]
115[S ] _EVERY                0                   9[04505-04513]
116[S ] _EVERY_SHOWWALL       0                  11[04515-04525]
117[S ] _EVERY_MARKPOINT      0                  12[04526-04537]
118[S ] _DUMMY                0                   2[04933-04934]
119[S ] _REM_ZONE             0                   3[04936-04938]
120[S ] _REM_ZONE2            0                  18[04939-04956]
121[S ] _NEWZONE              0                  10[04957-04966]
122[S ] _PLAY_SAMPLE          0                  47[04967-05013]
123[S ] _S_PLAY_TRACK         0                   7[05015-05021]
124[S ] _PLAY_TRACK           0                   7[05022-05028]
125[S ] _KILL_TRACK           0                   4[05029-05032]
126[S ] _SAVE_LEVEL           0                1029[05038-06066]
127[S ] _LOAD_LEVEL           0                 212[06067-06278]
128[S ] _CLIP_LEVEL           0                 687[06279-06965]
129[S ] _LINK_LEVEL           0                  58[06966-07023]
130[S ] _MAKE_LEVEL           2                  23[07024-07046]
                                (F$/F)
131[S ] _CHECK_LEVEL          0                 131[07047-07177]
132[S ] _LOAD_LINK            0                  14[07179-07192]
133[S ] _SAVE_LINK            0                  14[07193-07206]
134[S ] _LOAD_DEF_LINK        0                  56[07207-07262]
135[S ] _SAVE_DEF_LINK        0                  10[07263-07272]
136[S ] _PACK                 0                  27[07298-07324]
137[S ] _ZOSHOW               2                  55[07330-07384]
                                (Z/C)
138[S ] _OBJPUT               3                  10[07385-07394]
                                (X/Y/C)
139[S ] _CONNECTED            3                  31[07395-07425]
                                (A/B/P)
140[S ] _JOIN                 3                  15[07426-07440]
                                (SP/EP/C)
141[S ] _JOINCOORDS           5                   7[07441-07447]
                                (X1/Y1/X2/Y2/C)
142[S ] HIGHCONT              0                  13[07448-07460]
143[S ] PTSHOW                3                  16[07461-07476]
                                (WX/WY/C)
144[S ] CPTPUT                3                  11[07477-07487]
                                (WX/WY/C)
145[S ] PTCLR                 2                   3[07488-07490]
                                (WX/WY)
146[S ] _OUTLINE              0                   9[07491-07499]
147[S ] _GL_OBJGFX            0                  60[07590-07649]
148[S ] _GL_SETOBJFRAMES      0                 215[07650-07864]
149[S ] _GL_SETVEC            0                  60[07865-07924]
150[S ] _GL_SETBULLET         0                 188[07925-08112]
151[S ] _GL_SETGUN            0                  82[08113-08194]
152[S ] _GL_SETALIEN          0                 368[08195-08562]
153[S ] _GL_SETOBJECT         0                 299[08563-08861]
154[S ] _GL_SETPLAYER         0                  43[08862-08904]
155[S ] _GL_SETFLOORDAM       0                  67[08905-08971]
156[S ] _GL_LEVELS            0                 124[08972-09095]
157[S ] _GL_LGFX              0                 123[09096-09218]
158[S ] _GL_SFX               0                 105[09219-09323]
159[S ] _GL_SET_ANIM          4                 481[09324-09804]
                                (ANBAS/TYPE/T$/NRADR)
160[S ] _GL_IGETPAL           2                  39[09806-09844]
                                (SC/DST)
161[S ] _TL_OBJFRAMECONV      0                  92[09846-09937]
162[S ] _TL_CONVHQN           0                 196[09938-10133]
163[S ] _TL_PACK_FRAME_DATA   0                 129[10134-10262]
164[S ] _TL_LEVELINTRO        0                 106[10264-10369]
165[S ] _TL_PACKFILE          0                  18[10370-10387]
166[S ] _TL_DPFILE            0                  18[10388-10405]
167[S ] _TL_WALL2IFF          0                  46[10406-10451]
168[S ] _TL_FRAME2IFF         0                  85[10452-10536]
169[S ] _TL_FIB2SAMPLE        0                  51[10537-10587]
170[S ] _TL_IFF2WALL          0                  80[10588-10667]
171[S ] _TL_BUILDARCHIVE      0                 345[10668-11012]
172[S ] _TL_ED_CFLOOR         0                  30[11015-11044]
173[S ] _TL_N_FLOOR2IFF       0                  19[11068-11086]
174[S ] _TL_N_IFF2FLOOR       0                  41[11110-11150]
175[S ] _TL_N_TEXT2IFF        0                  35[11163-11197]
176[S ] _TL_N_IFF2TEXT        0                  58[11198-11255]
177[S ] _TL_N_BACK2IFF        0                  32[11256-11287]
178[S ] _TL_N_IFF2BACK        0                  39[11288-11326]
179[S ] _TL_N_SAMP2FIB        0                  51[11327-11377]
180[S ] _PAL2ISCREEN          0                   9[11378-11386]
181[S ] _TL_BUILDGLARE        0                  48[11387-11434]
182[S ] _N_MSG                2                   4[11440-11443]
                                (N$/TXT$)
183[S ] _N_MSG2               2                  28[11444-11471]
                                (N$/NTXT)
184[S ] _R_N_MSG              0                   6[11472-11477]
185[S ] _TLINES               6                  23[11532-11554]
                                (T1$/T2$/T3$/T4$/T5$/T6$)
186[S ] _TLINE                0                   5[11555-11559]
187[S ] _WRONG                2                   3[11560-11562]
                                (G/N)
188[S ] _ERROR                3                 116[11563-11678]
                                (S/G/N)
189[S ] _ERRTXT               2                   4[11679-11682]
                                (E0$/E1$)
190[S ] _SHOW_AG              0                   7[11689-11695]
191[S ] _I_SAVEIFFPIC         2                  97[11697-11793]
                                (SCR/F$)
192[S ] _ILBM_TO_BANK         2                  90[11957-12046]
                                (W_SCR/W_BNK)
193[S ] _FREEALLITXT          0                  26[12391-12416]
194[S ] _UNLOCKWINDOW         2                  28[12452-12479]
                                (WND/REQ)
195[S ] _FREETEXTATTRIB       0                  10[12654-12663]
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[F!] _SCREEN2FLOOR         0                  12[11151-11162]
  2[F!] _SCR_ID_LOAD          3                 132[12054-12185]
                                (SCRNB/FILE$/MAP)
  3[F!] _ALLOCSPRDATA         2                  71[12249-12319]
                                (BNK/BNB)
  4[F$] _SELLEVEL             0                  34[04631-04664]
  5[F$] _S_FILE               5                  54[11478-11531]
                                (M/T$/D$/P$/F$)
  6[Fi] _IMCHECK              0                 115[00210-00324]
  7[Fi] MYPEEK                0                   6[01302-01307]
  8[Fi] _SELSFX               2                   5[04543-04547]
                                (M/N$)
  9[Fi] _SELGFX               2                   5[04548-04552]
                                (M/N$)
10[Fi] _SELVEC               2                   5[04553-04557]
                                (M/N$)
11[Fi] _SELOBJ               2                   4[04558-04561]
                                (M/N$)
12[Fi] _SELOBJ2              3                   5[04562-04566]
                                (M/AD/N$)
13[Fi] _SELBUL               2                   4[04567-04570]
                                (M/N$)
14[Fi] _SELBUL2              3                   5[04571-04575]
                                (M/AD/N$)
15[Fi] _SELALI               2                   4[04576-04579]
                                (M/N$)
16[Fi] _SELALI2              3                   5[04580-04584]
                                (M/AD/N$)
17[Fi] _SELGEN               6                  45[04585-04629]
                                (ADR_I/NR_I/J_I/T$/M/M2)
18[Fi] _FRAMEPICK            3                 102[04666-04767]
                                (M/OG/SV)
19[Fi] _VFRAMEPICK           3                  42[04768-04809]
                                (M/OG/SV)
20[Fi] _OBJFRAMEPICK         3                 123[04810-04932]
                                (M/OB/SV)
21[Fi] _LOAD                 2                  24[07274-07297]
                                (B/F$)
22[Fi] FINDNEAR              2                  12[07505-07516]
                                (WX/WY)
23[Fi] FINDNEARZONE          3                  13[07517-07529]
                                (Z/WX/WY)
24[Fi] _FINDNEARZONE2        3                  13[07530-07542]
                                (Z/WX/WY)
25[Fi] FINDOBJ               2                  10[07543-07552]
                                (WX/WY)
26[Fi] ZOGET                 2                  22[07553-07574]
                                (WX/WY)
27[Fi] FINDCONT              2                  10[07575-07584]
                                (X/Y)
28[Fi] _TL_CALL_PAINT        0                  21[11045-11065]
29[Fi] _FLOOR2SCREEN         0                  23[11087-11109]
30[Fi] _SURE                 2                   5[11683-11687]
                                (T0$/T$)
31[Fi] _ILBM_FROM_BANK       3                 158[11799-11956]
                                (W_SCR/W_BNK/W_FLGS)
32[Fi] _LOADSAM              2                  56[12186-12241]
                                (NAME$/BNK)
33[Fi] _AMOS2STR             0                  27[12321-12347]
34[Fi] _AMOS2ITXT            7                  41[12349-12389]
                                (CE/CF/MD/X/Y/FONT/A$)
35[Fi] _LOCKWINDOW           0                  30[12421-12450]
36[Fi] _REQUESTCHOICE        4                  31[12481-12511]
                                (WND/TITLE$/BODY$/GAD$)
37[Fi] _REQUESTCHOICE_PTR    4                  25[12513-12537]
                                (WND/TITLE/BODY/GAD)
38[Fi] _REQUESTFONT          2                  58[12540-12597]
                                (WND/TITLE$)
39[Fi] _REQUESTSCREEN        0                  54[12599-12652]
End :-)
Code:
Arg File :elfie1.asc
Loading...done.
Parsing Src>
pass #1>'''.'.'''''''''''''''''''''''''''''''''''''''..'.'DD.'DDDDD.'D.'''..DD'''''DDDDDDDD.'.'.''''.'''''''''''''''.DDDDDDD.'D.'D.'.'.'.'.'..'..''''.'....'.....'..''.''''''''''''...'''.''.'.'....''''.'..'.''....'.'.'.'....'''''..............'........................'..'.............Done.
parse for subs...
pass #2 done.
Source File : elfie1.asc
Source Lines: 5505
demo has 132 gvars
demo has 60 garrays
demo has 3 labels
demo has 0 subroutines
demo has 90 statements
demo has 9 functions

Lines of Src to parse as src :5057 (448 skipped).

listing 192 gvars(60 garrays):
-------------------
Global Arrays(60):
SL(), SL_LINK(), MAP(), OBJT(), OBJX(), OBJY(), OBJI(), OBJF(), OBJA(), OBJSL(), OBJO(), OBJO2(), OBJEN(), OBJCOUNT(), CONT(), CONX1(), CONY1(), CONX2(), CONY2(), _KILLED(), SAM(), SFXPLAYER(), WEPT(), WEPRANGE(), WEPDELAY(), WEPMOVE(), WEPJF(), WEPTYPE(), SWITCHX(), SWITCHY(), SWITCHDO(), SWITCHDOX(), SWITCHDOY(), SWITCHDOI(), SWITCHX2(), SWITCHY2(), SWITCHPRESS(), PANELPLUS(), FIRONE(), FIRFRAMES(), FIRMOVEONE(), FIRMOVEFRAMES(), TYPEOVER(), TYPEFRAMES(), TYPEANIMT(), TYPESOLID(), TYPECLIMB(), TYPEDESTROY(), EXTRAI(), EXTRAX(), EXTRAY(), EXTRAPERMI(), EXTRAPERMX(), EXTRAPERMY(), OVERX(), OVERY(), _ANIMX(), _ANIMY(), NEWX(), NEWY()
Global Variables(132):
SXBS, SYBS, OLDSCORE, OLDENERGY, OLDLIVES, MXSL, SL_HEAD, SL_FREE, RET, RETX, RETY, _MAPX, _MAPY, LASTX, LASTY, JU, JD, JL, JR, JF, JJUMP, JDUCK, JPRESS, JWEPLEFT, JWEPRIGHT, SX, SY, MXX, MXY, BS, MXBLOK, YX, YY, YI, FALLSP, SP, HGHT, WIDTH, FAC, JUMSP, MXJUM, JUM, FALL, LASTFALL, JUMFRAME, FALLFRAME, SL_GLOBAL, MXOBJ, _CLIMBONE, _CLIMBFRAMES, _CLIMBSP, _CLIMB, CRAWLONE, CRAWLFRAMES, CRAWLSP, CRAWLHGHT, CRWL, CONTACT, EIN, ZWEI, DREI, VIER, DIEING, ENERGY, MXENERGY, LIVES, MXLIVES, INVINC, INVINC_TIME, AFTERDEATH, QUIT, LEVEL, COMPLETED, MXCON, MXBAD, LEVELNEXTCOMPLETE, LEVELNEXTFAILED, POWERHEAD, SAM, SOUND, ACCEL, MXSP, WEP, DEF_WEP, DELAY, SHOT, SHOTHGHT, SHOTCRWLHGHT, REGISTERED$, REGISTEREDNO, SCORE, MXSWITCH, SWITCHTIME, MXSW, BACKTYPE, BACKCOL, SCRNY, PANELPOS, _SCROLLTYPE, _SCROLLSP, _SCROLLBACK, _SCROLLPUSH, _SCROLLSOLID, QUITSCENE, CONTROLS, _POINTSPERSEC, _CLICKX, _CLICKY, CHARSTILL, CHARSTILLFRAMES, WALKONE, WALKFRAMES, DIEONE, DIEFRAMES, FIRONE, FIRFRAMES, FIRMOVEONE, FIRMOVEFRAMES, FIRCRAWLONE, FIRCRAWLFRAMES, MXOVER, NOOVER, MXANIM, NOANIM, MXNEW, NONEW, MXEXTRA, NOEXTRA, NOEXTRAPERM, FRAME2, FRAME3, FRAME4,

listing 90 statements, 9 functions:
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[S ] REG_INFO              0                  25[00481-00505]
  2[S ] _INTRO                0                  18[00507-00524]
  3[S ] THE_END               0                  24[00526-00549]
  4[S ] GAME_OVER             0                   3[00551-00553]
  5[S ] LEVEL_SCENE           2                  32[00555-00586]
                                (N/BA)
  6[S ] _PLAY_MUSIC           0                   7[00588-00594]
  7[S ] _STOP_MUSIC           0                   6[00595-00600]
  8[S ] _SHOW_PIC             6                  63[00601-00663]
                                (F$/S/W/P/FI/FO)
  9[S ] _SHOW_ANIM            5                  43[00665-00707]
                                (F$/S/W/P/W2)
10[S ] _MENU0                0                  87[00709-00795]
11[S ] DISK                  0                  28[00797-00824]
12[S ] BLOCKDATA             0                  29[00825-00853]
13[S ] RESETDATA             0                  70[00854-00923]
14[S ] LEVEL                 0                 173[00925-01097]
15[S ] MAKESCREENS           0                  25[01098-01122]
16[S ] _RAINBOW              5                  72[01123-01194]
                                (BC/BACKCOL/H/SPY/INV)
17[S ] PANEL                 0                   8[01196-01203]
18[S ] PANEL_LIVES           0                  15[01204-01218]
19[S ] PANEL_ENERGY          0                  15[01219-01233]
20[S ] PANEL_SCORE           0                  16[01234-01249]
21[S ] PANEL_DEBUG           0                   8[01251-01258]
22[S ] PANEL_PAUSE           0                  11[01260-01270]
23[S ] SWITCHS               0                  52[01272-01323]
24[S ] CONDITIONS            0                  38[01325-01362]
25[S ] DIEING                0                  23[01364-01386]
26[S ] KEYS                  0                  55[01387-01441]
27[S ] GTPLAYERIMAGES        2                 241[01442-01682]
                                (PH/WP)
28[S ] FIRING                0                 116[01683-01798]
29[S ] MOVE                  0                 118[01799-01916]
30[S ] FALL                  0                  29[01917-01945]
31[S ] JUMP                  0                  60[01946-02005]
32[S ] OBJECTS               0                  32[02007-02038]
33[S ] OBJ_DEAD              0                  48[02039-02086]
34[S ] OBJ1                  0                 143[02087-02229]
35[S ] OBJ2                  0                  33[02230-02262]
36[S ] OBJ3                  0                  33[02263-02295]
37[S ] OBJ4                  0                 162[02296-02457]
38[S ] OBJ5                  0                  55[02458-02512]
39[S ] OBJ6                  0                 144[02513-02656]
40[S ] OBJ7                  0                  33[02657-02689]
41[S ] OBJ8                  0                  33[02690-02722]
42[S ] OBJ9                  0                 144[02723-02866]
43[S ] OBJ10                 0                 144[02867-03010]
44[S ] OBJ11                 0                 144[03011-03154]
45[S ] OBJ12                 0                  34[03155-03188]
46[S ] OBJ13                 0                 170[03189-03358]
47[S ] OBJ14                 0                 232[03359-03590]
48[S ] OBJ15                 0                  71[03591-03661]
49[S ] OBJ16                 0                 215[03662-03876]
50[S ] OBJ17                 0                 128[03877-04004]
51[S ] OBJ18                 0                 148[04005-04152]
52[S ] DEL_OBJ               0                   7[04154-04160]
53[S ] NEW_OBJ               6                  23[04161-04183]
                                (X/Y/T/F/O/O2)
54[S ] SAM                   5                  80[04184-04263]
                                (SN/VC/FREQ/X/Y)
55[S ] HIT                   0                   9[04264-04272]
56[S ] SL_ADD                0                  11[04274-04284]
57[S ] SL_DEL                0                  21[04285-04305]
58[S ] SL_CHECK              0                  32[04306-04337]
59[S ] SL_CHECK_ONE          0                  24[04338-04361]
60[S ] SEE                   4                  35[04363-04397]
                                (X1/Y1/X2/Y2)
61[S ] NEWEXTRAPERM          3                   9[04399-04407]
                                (X/Y/I)
62[S ] EXTRAPERM             0                   8[04408-04415]
63[S ] NEWEXTRA              3                   9[04416-04424]
                                (X/Y/I)
64[S ] EXTRA                 0                  10[04425-04434]
65[S ] NEWANIM               2                  22[04435-04456]
                                (X/Y)
66[S ] _ANIMBLOKS            0                  33[04457-04489]
67[S ] NEWOVER               2                  22[04490-04511]
                                (X/Y)
68[S ] OVERBLOKS             0                  14[04512-04525]
69[S ] NEWBLOK               3                  21[04526-04546]
                                (X/Y/I)
70[S ] NEWBLOKS              0                  15[04547-04561]
71[S ] BLOK                  3                   6[04562-04567]
                                (I/X/Y)
72[S ] DRWBOBS               0                  32[04569-04600]
73[S ] DRWSCREEN             0                  47[04601-04647]
74[S ] DRWBOBSWITHOUTSCREEN  0                  18[04648-04665]
75[S ] MOVESCREEN            0                  52[04666-04717]
76[S ] DRWLEFT               0                  15[04718-04732]
77[S ] DRWRIGHT              0                  15[04733-04747]
78[S ] DRWTOP                0                  15[04748-04762]
79[S ] DRWBOTTOM             0                  15[04763-04777]
80[S ] _SCROLLING            0                  45[04778-04822]
81[S ] DRW                   0                  32[04823-04854]
82[S ] _LOAD                 3                  24[04856-04879]
                                (FILE$/BANK/OPEN)
83[S ] _LOADIFF              2                  21[04880-04900]
                                (FILE$/_SCREEN)
84[S ] HISCORE               0                  83[04937-05019]
85[S ] HISCOREPANEL          3                 102[05054-05155]
                                (MYSCORE/MYLEV/NPLAYER$)
86[S ] LOHSCORE              0                  45[05183-05227]
87[S ] SAVHSCORE             0                  32[05229-05260]
88[S ] DEFHSCORE             0                  26[05262-05287]
89[S ] CHARMATRIX            6                  38[05320-05357]
                                (CHARS$/YLINS/STX/STY/XFAC/YFAC)
90[S ] MATRIXBOX             8                  19[05451-05469]
                                (J/CLMS/STX/STY/XFAC/YFAC/C/FLG)
----------------------------------------------------------------
n#[t?] name                  args(type)      lines[00000-00000]
----------------------------------------------------------------
  1[F$] LSETSTRING            3                   9[05021-05029]
                                (ISTRING$/FSTRING$/NUM)
  2[F$] RSETSTRING            3                   8[05030-05037]
                                (ISTRING$/FSTRING$/NUM)
  3[F$] EATENDCHARS           2                  15[05038-05052]
                                (ISTRING$/FSTRING$)
  4[F$] TENCODE               2                  15[05289-05303]
                                (IN$/CODE)
  5[F$] TDECODE               2                  14[05305-05318]
                                (IN$/CODE)
  6[F$] MATRIXINPUT          10                  91[05359-05449]
                                (CHARS$/YLINS/STX/STY/XFAC/YFAC/J/XP/YP/OUT$)
  7[Fi] TRAINER               0                  31[04904-04934]
  8[Fi] SRTHSCORE             3                  25[05157-05181]
                                (MYSCORE/MYLEV/NPLAYER$)
  9[Fi] DISKCHECK             0                  34[05471-05504]
listing 3 labels:
n# name            line[00000]  Calls[000]
------------------------------------------
  1 ALLAGAIN             [00344][  3]
  2 BEGIN                [00372][  1]
  3 MAINLOOP             [00406][  0]
End :-)

Interessant wird es natürlich später, wenn ich die Src-Zeilen parse.
EXTENSION und SCREEN sind da Kandidaten.
Ersten kann ich mit Tabellen abhandeln, zweiten , nun, das erfordert IQ.Wink
Zitieren
#5
Inzwischen habe ich - statt Test units - einen Error-Logger eingebaut. Wenn der sagt, es gibt 0 Probleme, dann ist es Feature-Complete (für diesen Src).


Angehängte Dateien Thumbnail(s)
   
Zitieren
#6
Nette Geschichte. Smile
Zitieren
#7
Yo, mal sehen, wie weit ich das treiben kann....

Inzwischen werden auch Variablen klassifiziert (zur Sicherheit der Erkennung). Bei AMOS gibt es ja nur zwei numerische Typen, bei Blitz fünf...


Angehängte Dateien Thumbnail(s)
   
Zitieren
#8
Ich habe gestern noch die DIM xx()-Erkennung verbessert und auch eingebaut, daß nicht-tokenisierte Extensions (z.B. Extension U x) als Fehler angezeigt werden.
Zitieren
#9
Fleißig, fleißig! Big Grin ... persönlich kann ich damit zwar nichts anfangen, aber vielleicht hat ja der Eine oder Andere etwas davon.
Zitieren
#10
Das Dingens analysiert Srccode. Kann man immer brauchen....

Wie ganz oben geschrieben, hilft es extrem, daß der AMOS-Editor so unfrei in der Formatierung ist. Niemand würde heutzutage so coden wollen.
Das macht diese Übung allerdings viel einfacher.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste