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


Gehe zu:


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