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]
Amiga. Just to let ya know....
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.
Amiga. Just to let ya know....
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
Amiga. Just to let ya know....
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
Amiga. Just to let ya know....
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)
   
Amiga. Just to let ya know....
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)
   
Amiga. Just to let ya know....
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.
Amiga. Just to let ya know....
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.
Amiga. Just to let ya know....
Zitieren


Gehe zu:


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