0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 53 79 6e 74 61 pt..$uname Synta
0020: 78 41 6e 61 6c 79 73 69 73 0d 0a 24 64 6e 61 6d xAnalysis..$dnam
0030: 65 20 d0 9a d0 bb d0 b0 d1 81 d1 81 20 53 79 6e e .......... Syn
0040: 74 61 78 41 6e 61 6c 79 73 69 73 0d 0a 24 61 64 taxAnalysis..$ad
0050: 64 69 6e 20 67 6c 6f 62 61 6c 0d 0a 24 61 64 64 din global..$add
0060: 69 6e 20 73 74 64 6c 69 62 0d 0a 0d 0a 2f 2f 2f in stdlib....///
0070: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0080: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0090: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
00c0: 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 43 d0 ba /////..////{ C..
00d0: d1 80 d0 b8 d0 bf d1 82 2d d0 b1 d0 b8 d0 b1 d0 ........-.......
00e0: bb d0 b8 d0 be d1 82 d0 b5 d0 ba d0 b0 20 53 79 ............. Sy
00f0: 6e 74 61 78 41 6e 61 6c 79 73 69 73 20 28 53 79 ntaxAnalysis (Sy
0100: 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 6a 73 29 ntaxAnalysis.js)
0110: 20 d0 b4 d0 bb d1 8f 20 d0 bf d1 80 d0 be d0 b5 ...... ........
0120: d0 ba d1 82 d0 b0 20 22 d0 a1 d0 bd d0 b5 d0 b3 ...... "........
0130: d0 be d0 bf d0 b0 d1 82 22 0d 0a 2f 2f 2f 2f 0d ........"..////.
0140: 0a 2f 2f 2f 2f 20 d0 9e d0 bf d0 b8 d1 81 d0 b0 .//// ..........
0150: d0 bd d0 b8 d0 b5 3a 20 d0 a0 d0 b5 d0 b0 d0 bb ......: ........
0160: d0 b8 d0 b7 d1 83 d0 b5 d1 82 20 d1 84 d1 83 d0 .......... .....
0170: bd d0 ba d1 86 d0 b8 d0 be d0 bd d0 b0 d0 bb 20 ...............
0180: d0 bf d0 be 20 63 d0 b8 d0 bd d1 82 d0 b0 d0 ba .... c..........
0190: d1 81 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 be d0 bc ................
01a0: d1 83 20 d0 b0 d0 bd d0 b0 d0 bb d0 b8 d0 b7 d1 .. .............
01b0: 83 20 d0 b8 d1 81 d1 85 d0 be d0 b4 d0 bd d0 be . ..............
01c0: d0 b3 d0 be 20 d0 ba d0 be d0 b4 d0 b0 20 d0 bd .... ........ ..
01d0: d0 b0 20 0d 0a 2f 2f 2f 2f 20 d0 b2 d0 bd d1 83 .. ..//// ......
01e0: d1 82 d1 80 d0 b5 d0 bd d0 bd d0 b5 d0 bc 20 d1 .............. .
01f0: 8f d0 b7 d1 8b d0 ba d0 b5 20 31 d0 a1 3a d0 9f ......... 1..:..
0200: d1 80 d0 b5 d0 b4 d0 bf d1 80 d0 b8 d1 8f d1 82 ................
0210: d0 b8 d1 8f 20 38 2e 0d 0a 2f 2f 2f 2f 20 0d 0a .... 8...//// ..
0220: 2f 2f 2f 2f 20 d0 9e d1 81 d0 bd d0 be d0 b2 d0 //// ...........
0230: b0 d0 bd d0 b0 20 d0 bd d0 b0 20 d0 b8 d1 81 d1 ..... .... .....
0240: 85 d0 be d0 b4 d0 bd d0 be d0 bc 20 d0 ba d0 be ........... ....
0250: d0 b4 d0 b5 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 .... ...........
0260: 82 d0 bb d0 b5 d1 82 d0 b0 20 53 79 6e 74 61 78 ......... Syntax
0270: 41 6e 61 6c 79 73 69 73 2e 77 73 63 20 d0 b4 d0 Analysis.wsc ...
0280: bb d1 8f 20 d0 bf d1 80 d0 be d0 b5 d0 ba d1 82 ... ............
0290: d0 b0 20 4f 70 65 6e 43 6f 6e 66 2e 0d 0a 2f 2f .. OpenConf...//
02a0: 2f 2f 0d 0a 2f 2f 2f 2f 20 d0 90 d0 b2 d1 82 d0 //..//// .......
02b0: be d1 80 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 ... SyntaxAnalys
02c0: 69 73 2e 77 73 63 3a 20 d0 90 d0 bb d0 b5 d0 ba is.wsc: ........
02d0: d1 81 d0 b5 d0 b9 20 d0 94 d0 b8 d1 80 d0 ba d1 ...... .........
02e0: 81 20 3c 61 64 69 72 6b 73 40 6e 67 73 2e 72 75 . <adirks@ngs.ru
02f0: 3e 20 20 0d 0a 2f 2f 2f 2f 20 d0 90 d0 b2 d1 82 > ..//// ......
0300: d0 be d1 80 20 d0 bf d0 be d1 80 d1 82 d0 b0 3a .... ..........:
0310: 20 d0 90 d0 bb d0 b5 d0 ba d1 81 d0 b0 d0 bd d0 ...............
0320: b4 d1 80 20 d0 9a d1 83 d0 bd d1 82 d0 b0 d1 88 ... ............
0330: d0 be d0 b2 20 3c 6b 75 6e 74 61 73 68 6f 76 40 .... <kuntashov@
0340: 67 6d 61 69 6c 2e 63 6f 6d 3e 2c 20 68 74 74 70 gmail.com>, http
0350: 3a 2f 2f 63 6f 6d 70 61 75 64 2e 72 75 2f 62 6c ://compaud.ru/bl
0360: 6f 67 0d 0a 2f 2f 2f 2f 7d 0d 0a 2f 2f 2f 2f 2f og..////}../////
0370: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0380: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
03c0: 2f 2f 2f 0d 0a 0d 0a 53 79 6e 74 61 78 41 6e 61 ///....SyntaxAna
03d0: 6c 79 73 69 73 20 3d 20 7b 7d 3b 0d 0a 0d 0a 53 lysis = {};....S
03e0: 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 41 6e yntaxAnalysis.An
03f0: 61 6c 79 73 65 54 65 78 74 44 6f 63 75 6d 65 6e alyseTextDocumen
0400: 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 74 65 t = function (te
0410: 78 74 57 69 6e 64 6f 77 29 20 7b 0d 0a 20 20 20 xtWindow) {..
0420: 20 72 65 74 75 72 6e 20 6e 65 77 20 5f 31 43 4d return new _1CM
0430: 6f 64 75 6c 65 28 74 65 78 74 57 69 6e 64 6f 77 odule(textWindow
0440: 29 0d 0a 7d 0d 0a 0d 0a 53 79 6e 74 61 78 41 6e )..}....SyntaxAn
0450: 61 6c 79 73 69 73 2e 43 72 65 61 74 65 31 43 4d alysis.Create1CM
0460: 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 63 oduleContextDesc
0470: 72 69 70 74 69 6f 6e 20 3d 20 66 75 6e 63 74 69 ription = functi
0480: 6f 6e 28 69 6e 69 74 56 61 6c 75 65 54 61 62 6c on(initValueTabl
0490: 65 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e e) {.. return
04a0: 20 6e 65 77 20 5f 31 43 4d 6f 64 75 6c 65 43 6f new _1CModuleCo
04b0: 6e 74 65 78 74 44 65 73 63 72 69 70 74 69 6f 6e ntextDescription
04c0: 28 69 6e 69 74 56 61 6c 75 65 54 61 62 6c 65 29 (initValueTable)
04d0: 3b 0d 0a 7d 0d 0a 0d 0a 53 79 6e 74 61 78 41 6e ;..}....SyntaxAn
04e0: 61 6c 79 73 69 73 2e 43 72 65 61 74 65 31 43 4d alysis.Create1CM
04f0: 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e ethodDescription
0500: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 70 61 72 65 = function(pare
0510: 6e 74 4d 6f 64 75 6c 65 29 20 7b 0d 0a 20 20 20 ntModule) {..
0520: 20 72 65 74 75 72 6e 20 6e 65 77 20 5f 31 43 4d return new _1CM
0530: 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e ethodDescription
0540: 28 70 61 72 65 6e 74 4d 6f 64 75 6c 65 29 3b 0d (parentModule);.
0550: 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .}....//////////
0560: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0570: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0580: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0590: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
05a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a //////////////..
05b0: 2f 2f 2f 2f 7b 20 d0 a0 d0 b5 d0 b3 d1 83 d0 bb ////{ ..........
05c0: d1 8f d1 80 d0 bd d1 8b d0 b5 20 d0 b2 d1 8b d1 .......... .....
05d0: 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 d1 8f 20 d0 b4 ............. ..
05e0: d0 bb d1 8f 20 d0 bf d0 be d0 b8 d1 81 d0 ba d0 .... ...........
05f0: b0 20 d0 ba d0 be d0 bd d1 81 d1 82 d1 80 d1 83 . ..............
0600: d0 ba d1 86 d0 b8 d0 b9 20 d0 b2 d1 81 d1 82 d1 ........ .......
0610: 80 d0 be d0 b5 d0 bd d0 bd d0 be d0 b3 d0 be 20 ...............
0620: d1 8f d0 b7 d1 8b d0 ba d0 b0 20 31 d0 a1 2e 0d .......... 1....
0630: 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 0d 0a 2f 2f 2f .////TODO: ..///
0640: 2f 20 20 20 20 2d 20 d0 a3 d0 b4 d0 b0 d0 bb d0 / - .........
0650: b8 d1 82 d1 8c 20 d0 b8 d0 b7 20 d1 80 d0 b5 d0 ..... .... .....
0660: b3 d1 83 d0 bb d1 8f d1 80 d0 be d0 ba 20 d0 be ............. ..
0670: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd ................
0680: d0 b8 d1 8f 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 .... ...........
0690: b0 20 d0 94 d0 b0 d0 bb d0 b5 d0 b5 20 2d 20 d0 . .......... - .
06a0: bd d0 b5 20 d0 b8 d0 bc d0 b5 d0 b5 d1 82 20 d1 ... .......... .
06b0: 81 d0 bc d1 8b d1 81 d0 bb d0 b0 20 d0 b4 d0 bb ........... ....
06c0: d1 8f 20 38 2e d1 85 0d 0a 2f 2f 2f 2f 20 20 20 .. 8.....////
06d0: 20 2d 20 d0 9e d0 bf d0 b8 d1 81 d0 b0 d1 82 d1 - .............
06e0: 8c 20 d0 b8 d0 bd d0 b4 d0 b5 d0 ba d1 81 d1 8b . ..............
06f0: 20 d0 b8 20 d0 bd d0 b0 d0 b7 d0 bd d0 b0 d1 87 .. ............
0700: d0 b5 d0 bd d0 b8 d1 8f 20 d0 b3 d1 80 d1 83 d0 ........ .......
0710: bf d0 bf d0 b8 d1 80 d0 be d0 b2 d0 be d0 ba 2c ...............,
0720: 20 d0 bf d0 be d0 b4 d0 be d0 b1 d0 bd d0 be 20 ..............
0730: d1 82 d0 be d0 bc d1 83 2c 20 d0 ba d0 b0 d0 ba ........, ......
0740: 20 d1 81 d0 b4 d0 b5 d0 bb d0 b0 d0 bd d0 be 20 ..............
0750: d0 b4 d0 bb d1 8f 20 52 45 5f 56 41 52 2e 0d 0a ...... RE_VAR...
0760: 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 SyntaxAnalysis.R
0770: 45 5f 43 4f 4d 4d 45 4e 54 20 20 20 20 20 20 20 E_COMMENT
0780: 3d 20 6e 65 77 20 52 65 67 45 78 70 28 27 5e 5c = new RegExp('^\
0790: 5c 73 2a 28 28 3f 3a 28 3f 3a 28 3f 3a 22 5b 5e \s*((?:(?:(?:"[^
07a0: 22 5d 22 29 2a 29 7c 28 3f 3a 5b 5e 2f 5d 2a 29 "]")*)|(?:[^/]*)
07b0: 7c 28 3f 3a 5b 5e 2f 5d 2b 2f 29 29 2a 29 28 2f |(?:[^/]+/))*)(/
07c0: 2f 2e 2a 29 3f 5c 5c 73 2a 24 27 2c 20 22 22 29 /.*)?\\s*$', "")
07d0: 3b 0d 0a 2f 2a 20 d0 93 d1 80 d1 83 d0 bf d0 bf ;../* ..........
07e0: d0 b8 d1 80 d0 be d0 b2 d0 ba d0 b8 3a 20 31 3a ............: 1:
07f0: 20 d0 9e d0 b1 d1 8a d1 8f d0 b2 d0 bb d0 b5 d0 ...............
0800: bd d0 b8 d0 b5 20 d0 bc d0 b5 d1 82 d0 be d0 b4 ..... ..........
0810: d0 b0 20 28 d0 bf d1 80 d0 be d1 86 d0 b5 d0 b4 .. (............
0820: d1 83 d1 80 d0 b0 2f d1 84 d1 83 d0 bd d0 ba d1 ....../.........
0830: 86 d0 b8 d1 8f 29 2c 20 32 3a 20 d0 98 d0 bc d1 .....), 2: .....
0840: 8f 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2c 20 . ............,
0850: 33 3a 20 d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba 20 3: ............
0860: d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 ................
0870: d0 be d0 b2 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 .... ...........
0880: b0 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 be d0 b9 . ..............
0890: 2c 20 34 3a 20 22 d0 94 d0 b0 d0 bb d0 b5 d0 b5 , 4: "..........
08a0: 22 20 2d 20 d0 b8 d0 bc d0 b5 d0 b5 d1 82 20 d1 " - .......... .
08b0: 81 d0 bc d1 8b d1 81 d0 bb 20 d1 82 d0 be d0 bb ......... ......
08c0: d1 8c d0 ba d0 be 20 d0 b4 d0 bb d1 8f 20 37 2e ...... ...... 7.
08d0: 37 2e 20 2a 2f 0d 0a 2f 2f 53 79 6e 74 61 78 41 7. */..//SyntaxA
08e0: 6e 61 6c 79 73 69 73 2e 52 45 5f 50 52 4f 43 20 nalysis.RE_PROC
08f0: 20 20 20 20 20 20 20 20 20 3d 20 6e 65 77 20 52 = new R
0900: 65 67 45 78 70 28 27 5e 5c 5c 73 2a 28 28 3f 3a egExp('^\\s*((?:
0910: 70 72 6f 63 65 64 75 72 65 29 7c 28 3f 3a 66 75 procedure)|(?:fu
0920: 6e 63 74 69 6f 6e 29 7c 28 3f 3a d0 bf d1 80 d0 nction)|(?:.....
0930: be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 29 7c 28 .............)|(
0940: 3f 3a d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f ?:..............
0950: 29 29 5c 5c 73 2b 28 5b 5c 5c 77 d0 90 2d d1 8f ))\\s+([\\w..-..
0960: d1 91 d0 81 5c 5c 64 5d 2b 29 5c 5c 73 2a 5c 5c ....\\d]+)\\s*\\
0970: 28 28 5b 5c 5c 77 d0 90 2d d1 8f d1 91 d0 81 5c (([\\w..-......\
0980: 5c 64 5c 5c 73 2c 2e 3d 22 5c 27 5d 2a 29 5c 5c \d\\s,.="\']*)\\
0990: 29 5c 5c 73 2a 28 28 3f 3a 66 6f 72 77 61 72 64 )\\s*((?:forward
09a0: 29 7c 28 3f 3a d0 b4 d0 b0 d0 bb d0 b5 d0 b5 29 )|(?:..........)
09b0: 29 3f 28 2e 2a 29 24 27 2c 20 22 69 22 29 3b 0d )?(.*)$', "i");.
09c0: 0a 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e .SyntaxAnalysis.
09d0: 52 45 5f 50 52 4f 43 20 20 20 20 20 20 20 20 20 RE_PROC
09e0: 20 20 20 20 20 3d 20 6e 65 77 20 52 65 67 45 78 = new RegEx
09f0: 70 28 27 5e 5c 5c 73 2a 28 28 3f 3a 70 72 6f 63 p('^\\s*((?:proc
0a00: 65 64 75 72 65 29 7c 28 3f 3a 66 75 6e 63 74 69 edure)|(?:functi
0a10: 6f 6e 29 7c 28 3f 3a d0 bf d1 80 d0 be d1 86 d0 on)|(?:.........
0a20: b5 d0 b4 d1 83 d1 80 d0 b0 29 7c 28 3f 3a d1 84 .........)|(?:..
0a30: d1 83 d0 bd d0 ba d1 86 d0 b8 d1 8f 29 29 5c 5c ............))\\
0a40: 73 2b 28 5b 5c 5c 77 d0 90 2d d1 8f d1 91 d0 81 s+([\\w..-......
0a50: 5c 5c 64 5d 2b 29 5c 5c 73 2a 5c 5c 28 27 2c 20 \\d]+)\\s*\\(',
0a60: 27 69 27 29 3b 0d 0a 53 79 6e 74 61 78 41 6e 61 'i');..SyntaxAna
0a70: 6c 79 73 69 73 2e 52 45 5f 50 41 52 41 4d 20 20 lysis.RE_PARAM
0a80: 20 20 20 20 20 20 20 20 20 20 3d 20 6e 65 77 20 = new
0a90: 52 65 67 45 78 70 28 27 28 3f 3a 28 3f 3a 56 61 RegExp('(?:(?:Va
0aa0: 6c 29 7c 28 3f 3a d0 97 d0 bd d0 b0 d1 87 29 5c l)|(?:........)\
0ab0: 5c 73 2b 29 3f 28 5b 5c 5c 77 d0 90 2d d1 8f d1 \s+)?([\\w..-...
0ac0: 91 d0 81 5c 5c 64 5d 2b 29 28 5c 5c 73 2a 3d 5c ...\\d]+)(\\s*=\
0ad0: 5c 73 2a 28 3f 3a 28 3f 3a 22 5b 5e 22 5d 22 29 \s*(?:(?:"[^"]")
0ae0: 7c 28 3f 3a 5b 5e 2c 29 5d 2a 29 29 2a 29 3f 27 |(?:[^,)]*))*)?'
0af0: 2c 20 22 69 67 22 29 3b 0d 0a 53 79 6e 74 61 78 , "ig");..Syntax
0b00: 41 6e 61 6c 79 73 69 73 2e 52 45 5f 50 41 52 41 Analysis.RE_PARA
0b10: 4d 5f 45 4e 44 20 20 20 20 20 3d 20 6e 65 77 20 M_END = new
0b20: 52 65 67 45 78 70 28 27 28 5b 5c 5c 77 d0 90 2d RegExp('([\\w..-
0b30: d1 8f d1 91 d0 81 5c 5c 64 5c 5c 73 2c 2e 3d 22 ......\\d\\s,.="
0b40: 5c 27 5d 2a 29 5c 5c 29 28 2e 2a 29 27 2c 20 27 \']*)\\)(.*)', '
0b50: 69 27 29 3b 0d 0a 53 79 6e 74 61 78 41 6e 61 6c i');..SyntaxAnal
0b60: 79 73 69 73 2e 52 45 5f 50 52 4f 43 5f 45 4e 44 ysis.RE_PROC_END
0b70: 20 20 20 20 20 20 3d 20 6e 65 77 20 52 65 67 45 = new RegE
0b80: 78 70 28 27 28 28 3f 3a 45 6e 64 50 72 6f 63 65 xp('((?:EndProce
0b90: 64 75 72 65 29 7c 28 3f 3a 45 6e 64 46 75 6e 63 dure)|(?:EndFunc
0ba0: 74 69 6f 6e 29 7c 28 3f 3a d0 9a d0 be d0 bd d0 tion)|(?:.......
0bb0: b5 d1 86 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 ................
0bc0: 83 d1 80 d1 8b 29 7c 28 3f 3a d0 9a d0 be d0 bd .....)|(?:......
0bd0: d0 b5 d1 86 d0 a4 d1 83 d0 bd d0 ba d1 86 d0 b8 ................
0be0: d0 b8 29 29 27 2c 20 22 69 22 29 3b 0d 0a 53 79 ..))', "i");..Sy
0bf0: 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f ntaxAnalysis.RE_
0c00: 56 41 52 53 5f 44 45 46 20 20 20 20 20 20 3d 20 VARS_DEF =
0c10: 6e 65 77 20 52 65 67 45 78 70 28 27 5e 5c 5c 73 new RegExp('^\\s
0c20: 2a 28 3f 3a 28 3f 3a 56 61 72 29 7c 28 3f 3a d0 *(?:(?:Var)|(?:.
0c30: 9f d0 b5 d1 80 d0 b5 d0 bc 29 29 5c 5c 73 2a 28 .........))\\s*(
0c40: 5b 5c 5c 77 d0 90 2d d1 8f d1 91 d0 81 5c 5c 64 [\\w..-......\\d
0c50: 2c 3d 5c 5c 5b 5c 5c 5d 5c 5c 73 5d 2a 29 28 5c ,=\\[\\]\\s]*)(\
0c60: 5c 73 2b d1 8d d0 ba d1 81 d0 bf d0 be d1 80 d1 \s+.............
0c70: 82 5c 5c 73 2a 29 3f 28 5b 5c 5c 73 3b 5d 2a 29 .\\s*)?([\\s;]*)
0c80: 28 2e 2a 3f 29 24 27 2c 20 22 69 22 29 3b 0d 0a (.*?)$', "i");..
0c90: 2f 2a 20 d0 93 d1 80 d1 83 d0 bf d0 bf d0 b8 d1 /* .............
0ca0: 80 d0 be d0 b2 d0 ba d0 b8 3a 20 31 3a 20 d0 98 .........: 1: ..
0cb0: d0 bc d1 8f 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 .... ...........
0cc0: b5 d0 bd d0 bd d0 be d0 b9 2c 20 32 3a 20 d0 9e ........., 2: ..
0cd0: d0 bf d1 80 d0 b5 d0 b4 d0 b5 d0 bb d0 b5 d0 bd ................
0ce0: d0 b8 d0 b5 20 d1 80 d0 b0 d0 b7 d0 bc d0 b5 d1 .... ...........
0cf0: 80 d0 bd d0 be d1 81 d1 82 d0 b8 20 d0 bc d0 b0 ........... ....
0d00: d1 81 d1 81 d0 b8 d0 b2 d0 b0 2c 20 33 3a 20 d0 .........., 3: .
0d10: ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 2c 20 34 ............., 4
0d20: 3a 20 d0 9a d0 be d0 bd d0 b5 d1 87 d0 bd d1 8b : ..............
0d30: d0 b9 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb 20 .. ............
0d40: 28 22 2c 22 20 d0 b8 d0 bb d0 b8 20 d0 bf d1 83 ("," ...... ....
0d50: d1 81 d1 82 d0 be 20 2d 20 d0 ba d0 be d0 bd d0 ...... - .......
0d60: b5 d1 86 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 ... ............
0d70: 29 2e 20 2a 2f 0d 0a 53 79 6e 74 61 78 41 6e 61 ). */..SyntaxAna
0d80: 6c 79 73 69 73 2e 52 45 5f 56 41 52 20 20 20 20 lysis.RE_VAR
0d90: 20 20 20 20 20 20 20 3d 20 6e 65 77 20 52 65 67 = new Reg
0da0: 45 78 70 28 27 28 5b 5c 5c 77 d0 90 2d d1 8f d1 Exp('([\\w..-...
0db0: 91 d0 81 5c 5c 64 5d 2b 29 5c 5c 73 2a 28 5c 5c ...\\d]+)\\s*(\\
0dc0: 5b 5b 5c 5c 64 5c 5c 73 2c 5d 2a 5c 5c 5d 29 3f [[\\d\\s,]*\\])?
0dd0: 28 5c 5c 73 2b d1 8d d0 ba d1 81 d0 bf d0 be d1 (\\s+...........
0de0: 80 d1 82 5c 5c 73 2a 29 3f 28 3f 3a 5c 5c 73 2a ...\\s*)?(?:\\s*
0df0: 28 3f 3a 2c 7c 3b 7c 24 29 29 27 2c 20 22 69 67 (?:,|;|$))', "ig
0e00: 22 29 3b 0d 0a 53 79 6e 74 61 78 41 6e 61 6c 79 ");..SyntaxAnaly
0e10: 73 69 73 2e 52 45 5f 56 41 52 5f 41 53 53 49 47 sis.RE_VAR_ASSIG
0e20: 4e 20 20 20 20 3d 20 6e 65 77 20 52 65 67 45 78 N = new RegEx
0e30: 70 28 27 28 5b 5c 5c 77 d0 90 2d d1 8f d1 91 d0 p('([\\w..-.....
0e40: 81 5c 5c 64 2e 5d 2b 29 5c 5c 73 2a 3d 5c 5c 73 .\\d.]+)\\s*=\\s
0e50: 2a 28 28 5b 5e 3b 5d 2a 29 3b 29 3f 27 2c 20 22 *(([^;]*);)?', "
0e60: 67 22 29 3b 0d 0a 53 79 6e 74 61 78 41 6e 61 6c g");..SyntaxAnal
0e70: 79 73 69 73 2e 52 45 5f 43 41 4c 4c 20 20 20 20 ysis.RE_CALL
0e80: 20 20 20 20 20 20 3d 20 6e 65 77 20 52 65 67 45 = new RegE
0e90: 78 70 28 27 28 5b 5c 5c 77 d0 90 2d d1 8f d1 91 xp('([\\w..-....
0ea0: d0 81 5c 5c 64 2e 5d 2b 29 5c 5c 73 2a 5c 5c 28 ..\\d.]+)\\s*\\(
0eb0: 27 2c 20 22 67 22 29 3b 0d 0a 53 79 6e 74 61 78 ', "g");..Syntax
0ec0: 41 6e 61 6c 79 73 69 73 2e 52 45 5f 53 50 41 43 Analysis.RE_SPAC
0ed0: 45 20 20 20 20 20 20 20 20 20 3d 20 6e 65 77 20 E = new
0ee0: 52 65 67 45 78 70 28 27 5c 5c 73 2b 27 2c 20 22 RegExp('\\s+', "
0ef0: 67 22 29 3b 0d 0a 2f 2f 46 49 58 4d 45 3a 52 45 g");..//FIXME:RE
0f00: 5f 50 52 4f 43 5f 54 4f 52 4d 4f 5a 49 54 20 20 _PROC_TORMOZIT
0f10: d0 bf d0 be d0 ba d0 b0 20 d0 bd d0 b5 20 d0 b8 ........ .... ..
0f20: d1 81 d0 bf d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 ................
0f30: d1 82 d1 8c d1 81 d1 8f 2c 20 d1 82 2e d0 ba 2e ........, ......
0f40: 20 d0 bd d0 b5 d1 82 20 d0 be d0 bf d1 80 d0 b5 ...... ........
0f50: d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d0 .............. .
0f60: 9d d0 b0 d0 9a d0 bb d0 b8 d0 b5 d0 bd d1 82 d0 ................
0f70: b5 2c 20 d0 9d d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 ., .............
0f80: b5 d1 80 d0 b5 20 d0 b8 20 d1 82 2e d0 b4 2e 20 ..... .. ......
0f90: d0 b4 d0 bb d1 8f 20 d1 82 d0 be d0 bd d0 ba d0 ...... .........
0fa0: be d0 b3 d0 be 20 d0 ba d0 bb d0 b8 d0 b5 d0 bd ..... ..........
0fb0: d1 82 d0 b0 2e 20 0d 0a 53 79 6e 74 61 78 41 6e ..... ..SyntaxAn
0fc0: 61 6c 79 73 69 73 2e 52 45 5f 50 52 4f 43 5f 54 alysis.RE_PROC_T
0fd0: 4f 52 4d 4f 5a 49 54 20 3d 20 6e 65 77 20 52 65 ORMOZIT = new Re
0fe0: 67 45 78 70 28 27 28 28 d0 9f d1 80 d0 be d1 86 gExp('((........
0ff0: d0 b5 d0 b4 d1 83 d1 80 d0 b0 7c d0 a4 d1 83 d0 ..........|.....
1000: bd d0 ba d1 86 d0 b8 d1 8f 29 28 3f 3a 2f 2f 5b .........)(?://[
1010: 5e 5c 5c 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c 5e 7c ^\\n]*\\n|\\s|^|
1020: 24 29 2a 28 5b d0 90 2d d0 af d0 b0 2d d1 8f 5f $)*([..-....-.._
1030: 41 2d 5a 61 2d 7a 5d 5b d0 90 2d d0 af d0 b0 2d A-Za-z][..-....-
1040: d1 8f 5f 41 2d 5a 61 2d 7a 5c 5c 64 5d 2a 29 28 .._A-Za-z\\d]*)(
1050: 3f 3a 2f 2f 5b 5e 5c 5c 6e 5d 2a 5c 5c 6e 7c 5c ?://[^\\n]*\\n|\
1060: 5c 73 7c 5e 7c 24 29 2a 5c 5c 28 28 5b 5e 5c 5c \s|^|$)*\\(([^\\
1070: 29 5d 2a 29 5c 5c 29 28 28 3f 3a 2f 2f 5b 5e 5c )]*)\\)((?://[^\
1080: 5c 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c 5e 7c 24 29 \n]*\\n|\\s|^|$)
1090: 2a d0 ad d0 ba d1 81 d0 bf d0 be d1 80 d1 82 29 *..............)
10a0: 3f 29 28 28 3f 3a 28 3f 3a 22 28 3f 3a 28 3f 3a ?)((?:(?:"(?:(?:
10b0: 22 22 29 7c 5b 5e 22 5c 5c 6e 24 5d 29 2a 28 3f "")|[^"\\n$])*(?
10c0: 3a 28 3f 3a 2f 2f 5b 5e 5c 5c 6e 5d 2a 5c 5c 6e :(?://[^\\n]*\\n
10d0: 7c 5c 5c 73 7c 5e 7c 24 29 2a 5c 5c 7c 28 3f 3a |\\s|^|$)*\\|(?:
10e0: 28 3f 3a 22 22 29 7c 5b 5e 22 5c 5c 6e 24 5d 29 (?:"")|[^"\\n$])
10f0: 2a 29 2a 28 3f 3a 22 7c 24 29 7c 5c 5c 2e d0 9a *)*(?:"|$)|\\...
1100: d0 be d0 bd d0 b5 d1 86 28 3f 3a d0 9f d1 80 d0 ........(?:.....
1110: be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b 7c d0 a4 .............|..
1120: d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 29 7c 5c 5c ............)|\\
1130: 72 7c 5c 5c 6e 7c 2e 29 2a 3f 29 29 5b 5e d0 90 r|\\n|.)*?))[^..
1140: 2d d0 af d0 b0 2d d1 8f 5f 41 2d 5a 61 2d 7a 30 -....-.._A-Za-z0
1150: 2d 39 5c 5c 2e 22 5d d0 9a d0 be d0 bd d0 b5 d1 -9\\."].........
1160: 86 28 3f 3a d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 .(?:............
1170: d1 83 d1 80 d1 8b 7c d0 a4 d1 83 d0 bd d0 ba d1 ......|.........
1180: 86 d0 b8 d0 b8 29 5b 5e d0 90 2d d0 af d0 b0 2d .....)[^..-....-
1190: d1 8f 5f 41 2d 5a 61 2d 7a 30 2d 39 5d 7c 23 5b .._A-Za-z0-9]|#[
11a0: 5e 5c 5c 6e 5d 2a 5c 5c 6e 7c 28 3f 3a 2f 2f 5b ^\\n]*\\n|(?://[
11b0: 5e 5c 5c 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c 5e 7c ^\\n]*\\n|\\s|^|
11c0: 24 29 27 2c 20 27 69 67 6d 27 29 0d 0a 53 79 6e $)', 'igm')..Syn
11d0: 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 50 taxAnalysis.RE_P
11e0: 41 52 41 4d 5f 54 4f 52 4d 4f 5a 49 54 20 3d 20 ARAM_TORMOZIT =
11f0: 6e 65 77 20 52 65 67 45 78 70 28 27 28 3f 3a 2f new RegExp('(?:/
1200: 2f 5b 5e 5c 5c 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c /[^\\n]*\\n|\\s|
1210: 5e 7c 24 29 2a 28 d0 97 d0 bd d0 b0 d1 87 5c 5c ^|$)*(........\\
1220: 73 29 3f 28 3f 3a 2f 2f 5b 5e 5c 5c 6e 5d 2a 5c s)?(?://[^\\n]*\
1230: 5c 6e 7c 5c 5c 73 7c 5e 7c 24 29 2a 28 5b d0 90 \n|\\s|^|$)*([..
1240: 2d d0 af d0 b0 2d d1 8f 5f 41 2d 5a 61 2d 7a 5d -....-.._A-Za-z]
1250: 5b d0 90 2d d0 af d0 b0 2d d1 8f 5f 41 2d 5a 61 [..-....-.._A-Za
1260: 2d 7a 30 2d 39 5d 2b 29 28 3f 3a 2f 2f 5b 5e 5c -z0-9]+)(?://[^\
1270: 5c 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c 5e 7c 24 29 \n]*\\n|\\s|^|$)
1280: 2a 3d 3f 28 28 3f 3a 28 3f 3a 2f 2f 5b 5e 5c 5c *=?((?:(?://[^\\
1290: 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c 5e 7c 24 29 2a n]*\\n|\\s|^|$)*
12a0: 7c 28 22 28 3f 3a 28 3f 3a 22 22 29 7c 5b 5e 22 |("(?:(?:"")|[^"
12b0: 5c 5c 6e 24 5d 29 2a 28 3f 3a 28 3f 3a 2f 2f 5b \\n$])*(?:(?://[
12c0: 5e 5c 5c 6e 5d 2a 5c 5c 6e 7c 5c 5c 73 7c 5e 7c ^\\n]*\\n|\\s|^|
12d0: 24 29 2a 5c 5c 7c 28 3f 3a 28 3f 3a 22 22 29 7c $)*\\|(?:(?:"")|
12e0: 5b 5e 22 5c 5c 6e 24 5d 29 2a 29 2a 28 3f 3a 22 [^"\\n$])*)*(?:"
12f0: 7c 24 29 29 7c 28 3f 3a 5b 5e 2c 5c 5c 6e 24 5d |$))|(?:[^,\\n$]
1300: 2a 29 29 2b 29 28 3f 3a 2c 7c 24 29 27 2c 27 69 *))+)(?:,|$)','i
1310: 6d 67 27 29 3b 0d 0a 53 79 6e 74 61 78 41 6e 61 mg');..SyntaxAna
1320: 6c 79 73 69 73 2e 52 45 5f 43 4f 4e 54 45 58 54 lysis.RE_CONTEXT
1330: 20 20 20 20 20 20 3d 20 6e 65 77 20 52 65 67 45 = new RegE
1340: 78 70 28 27 5e 5c 5c 73 2a 26 5c 5c 73 2a 28 41 xp('^\\s*&\\s*(A
1350: 74 43 6c 69 65 6e 74 41 74 53 65 72 76 65 72 4e tClientAtServerN
1360: 6f 43 6f 6e 74 65 78 74 7c 41 74 53 65 72 76 65 oContext|AtServe
1370: 72 4e 6f 43 6f 6e 74 65 78 74 7c 41 74 43 6c 69 rNoContext|AtCli
1380: 65 6e 74 41 74 53 65 72 76 65 72 7c 41 74 53 65 entAtServer|AtSe
1390: 72 76 65 72 7c 41 74 43 6c 69 65 6e 74 7c d0 9d rver|AtClient|..
13a0: d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 b5 ................
13b0: d0 91 d0 b5 d0 b7 d0 9a d0 be d0 bd d1 82 d0 b5 ................
13c0: d0 ba d1 81 d1 82 d0 b0 7c d0 9d d0 b0 d0 9a d0 ........|.......
13d0: bb d0 b8 d0 b5 d0 bd d1 82 d0 b5 d0 9d d0 b0 d0 ................
13e0: a1 d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 b5 d0 91 d0 ................
13f0: b5 d0 b7 d0 9a d0 be d0 bd d1 82 d0 b5 d0 ba d1 ................
1400: 81 d1 82 d0 b0 7c d0 9d d0 b0 d0 9a d0 bb d0 b8 .....|..........
1410: d0 b5 d0 bd d1 82 d0 b5 d0 9d d0 b0 d0 a1 d0 b5 ................
1420: d1 80 d0 b2 d0 b5 d1 80 d0 b5 7c d0 9d d0 b0 d0 ..........|.....
1430: 9a d0 bb d0 b8 d0 b5 d0 bd d1 82 d0 b5 7c d0 9d .............|..
1440: d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 b5 ................
1450: 29 5c 5c 73 2a 27 2c 20 27 69 27 29 0d 0a 53 79 )\\s*', 'i')..Sy
1460: 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 43 4f 4e ntaxAnalysis.CON
1470: 54 45 58 54 20 3d 20 7b 20 22 61 74 63 6c 69 65 TEXT = { "atclie
1480: 6e 74 61 74 73 65 72 76 65 72 6e 6f 63 6f 6e 74 ntatservernocont
1490: 65 78 74 22 20 20 20 3a 22 41 74 43 6c 69 65 6e ext" :"AtClien
14a0: 74 41 74 53 65 72 76 65 72 4e 6f 43 6f 6e 74 65 tAtServerNoConte
14b0: 78 74 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 xt",..
14c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 "a
14d0: 74 73 65 72 76 65 72 6e 6f 63 6f 6e 74 65 78 74 tservernocontext
14e0: 22 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 22 " :"
14f0: 41 74 53 65 72 76 65 72 4e 6f 43 6f 6e 74 65 78 AtServerNoContex
1500: 74 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 t",..
1510: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 74 "at
1520: 63 6c 69 65 6e 74 61 74 73 65 72 76 65 72 22 20 clientatserver"
1530: 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 22 41 :"A
1540: 74 43 6c 69 65 6e 74 41 74 53 65 72 76 65 72 22 tClientAtServer"
1550: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ,..
1560: 20 20 20 20 20 20 20 20 20 20 20 22 61 74 73 65 "atse
1570: 72 76 65 72 22 20 20 20 20 20 20 20 20 20 20 20 rver"
1580: 20 20 20 20 20 20 20 20 20 20 20 3a 22 41 74 53 :"AtS
1590: 65 72 76 65 72 22 2c 0d 0a 20 20 20 20 20 20 20 erver",..
15a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
15b0: 20 22 61 74 63 6c 69 65 6e 74 22 20 20 20 20 20 "atclient"
15c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
15d0: 20 3a 22 41 74 43 6c 69 65 6e 74 22 2c 0d 0a 20 :"AtClient",..
15e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
15f0: 20 20 20 20 20 20 20 22 d0 bd d0 b0 d1 81 d0 b5 "........
1600: d1 80 d0 b2 d0 b5 d1 80 d0 b5 d0 b1 d0 b5 d0 b7 ................
1610: d0 ba d0 be d0 bd d1 82 d0 b5 d0 ba d1 81 d1 82 ................
1620: d0 b0 22 20 20 20 20 20 20 20 20 20 3a 22 d0 9d .." :"..
1630: d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 b5 ................
1640: d0 91 d0 b5 d0 b7 d0 9a d0 be d0 bd d1 82 d0 b5 ................
1650: d0 ba d1 81 d1 82 d0 b0 22 2c 0d 0a 20 20 20 20 ........",..
1660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1670: 20 20 20 20 22 d0 bd d0 b0 d0 ba d0 bb d0 b8 d0 "...........
1680: b5 d0 bd d1 82 d0 b5 d0 bd d0 b0 d1 81 d0 b5 d1 ................
1690: 80 d0 b2 d0 b5 d1 80 d0 b5 d0 b1 d0 b5 d0 b7 d0 ................
16a0: ba d0 be d0 bd d1 82 d0 b5 d0 ba d1 81 d1 82 d0 ................
16b0: b0 22 3a 22 d0 9d d0 b0 d0 9a d0 bb d0 b8 d0 b5 .":"............
16c0: d0 bd d1 82 d0 b5 d0 9d d0 b0 d0 a1 d0 b5 d1 80 ................
16d0: d0 b2 d0 b5 d1 80 d0 b5 d0 91 d0 b5 d0 b7 d0 9a ................
16e0: d0 be d0 bd d1 82 d0 b5 d0 ba d1 81 d1 82 d0 b0 ................
16f0: 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ",..
1700: 20 20 20 20 20 20 20 20 20 20 20 20 22 d0 bd d0 "...
1710: b0 d0 ba d0 bb d0 b8 d0 b5 d0 bd d1 82 d0 b5 d0 ................
1720: bd d0 b0 d1 81 d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 ................
1730: b5 22 20 20 20 20 20 20 20 20 20 20 20 20 3a 22 ." :"
1740: d0 9d d0 b0 d0 9a d0 bb d0 b8 d0 b5 d0 bd d1 82 ................
1750: d0 b5 d0 9d d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 b5 ................
1760: d1 80 d0 b5 22 2c 0d 0a 20 20 20 20 20 20 20 20 ....",..
1770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1780: 22 d0 bd d0 b0 d0 ba d0 bb d0 b8 d0 b5 d0 bd d1 "...............
1790: 82 d0 b5 22 20 20 20 20 20 20 20 20 20 20 20 20 ..."
17a0: 20 20 20 20 20 20 20 20 20 3a 22 d0 9d d0 b0 d0 :".....
17b0: 9a d0 bb d0 b8 d0 b5 d0 bd d1 82 d0 b5 22 2c 0d .............",.
17c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
17d0: 20 20 20 20 20 20 20 20 20 22 d0 bd d0 b0 d1 81 "......
17e0: d0 b5 d1 80 d0 b2 d0 b5 d1 80 d0 b5 22 20 20 20 ............"
17f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1800: 20 20 3a 22 d0 9d d0 b0 d0 a1 d0 b5 d1 80 d0 b2 :"............
1810: d0 b5 d1 80 d0 b5 22 0d 0a 20 20 20 20 20 20 20 ......"..
1820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1830: 20 7d 0d 0a 2f 2f 53 79 6e 74 61 78 41 6e 61 6c }..//SyntaxAnal
1840: 79 73 69 73 0d 0a 2f 2f 53 79 6e 74 61 78 41 6e ysis..//SyntaxAn
1850: 61 6c 79 73 69 73 2e 52 45 5f 43 52 4c 46 20 20 alysis.RE_CRLF
1860: 20 20 20 20 20 20 20 20 3d 20 6e 65 77 20 52 65 = new Re
1870: 67 45 78 70 28 27 5b 5c 5c 6e 5d 2b 27 2c 20 22 gExp('[\\n]+', "
1880: 22 29 3b 0d 0a 2f 2f 2f 2f 7d 20 d0 a0 d0 b5 d0 ");..////} .....
1890: b3 d1 83 d0 bb d1 8f d1 80 d0 bd d1 8b d0 b5 20 ...............
18a0: d0 b2 d1 8b d1 80 d0 b0 d0 b6 d0 b5 d0 bd d0 b8 ................
18b0: d1 8f 20 d0 b4 d0 bb d1 8f 20 d0 bf d0 be d0 b8 .. ...... ......
18c0: d1 81 d0 ba d0 b0 20 d0 ba d0 be d0 bd d1 81 d1 ...... .........
18d0: 82 d1 80 d1 83 d0 ba d1 86 d0 b8 d0 b9 20 d0 b2 ............. ..
18e0: d1 81 d1 82 d1 80 d0 be d0 b5 d0 bd d0 bd d0 be ................
18f0: d0 b3 d0 be 20 d1 8f d0 b7 d1 8b d0 ba d0 b0 20 .... ..........
1900: 31 d0 a1 2e 0d 0a 20 20 20 20 0d 0a 0d 0a 53 79 1..... ....Sy
1910: 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 41 6e 61 ntaxAnalysis.Ana
1920: 6c 79 73 65 50 61 72 61 6d 73 20 3d 20 66 75 6e lyseParams = fun
1930: 63 74 69 6f 6e 28 73 6f 75 72 63 65 43 6f 64 65 ction(sourceCode
1940: 2c 20 4d 65 74 68 29 20 7b 0d 0a 09 76 61 72 20 , Meth) {...var
1950: 4d 61 74 63 68 65 73 3b 0d 0a 20 20 20 20 77 68 Matches;.. wh
1960: 69 6c 65 28 20 28 4d 61 74 63 68 65 73 20 3d 20 ile( (Matches =
1970: 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 SyntaxAnalysis.R
1980: 45 5f 50 41 52 41 4d 5f 54 4f 52 4d 4f 5a 49 54 E_PARAM_TORMOZIT
1990: 2e 65 78 65 63 28 73 6f 75 72 63 65 43 6f 64 65 .exec(sourceCode
19a0: 29 29 20 21 3d 20 6e 75 6c 6c 20 29 20 7b 20 0d )) != null ) { .
19b0: 0a 20 20 20 20 20 20 20 20 4d 65 74 68 2e 50 61 . Meth.Pa
19c0: 72 61 6d 73 2e 70 75 73 68 28 4d 61 74 63 68 65 rams.push(Matche
19d0: 73 5b 32 5d 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d s[2]);.. }..}
19e0: 0d 0a 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 ..SyntaxAnalysis
19f0: 2e 41 6e 61 6c 79 73 65 43 6f 6d 6d 65 6e 74 73 .AnalyseComments
1a00: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 6f 75 72 = function(sour
1a10: 63 65 43 6f 64 65 29 7b 0d 0a 20 20 20 20 20 76 ceCode){.. v
1a20: 61 72 20 72 65 73 75 6c 74 20 3d 20 73 6f 75 72 ar result = sour
1a30: 63 65 43 6f 64 65 3b 0d 0a 20 20 20 20 20 76 61 ceCode;.. va
1a40: 72 20 4d 61 74 63 68 65 73 20 3d 20 53 79 6e 74 r Matches = Synt
1a50: 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 43 4f axAnalysis.RE_CO
1a60: 4d 4d 45 4e 54 2e 65 78 65 63 28 73 6f 75 72 63 MMENT.exec(sourc
1a70: 65 43 6f 64 65 29 3b 0d 0a 20 20 20 20 20 69 66 eCode);.. if
1a80: 28 20 4d 61 74 63 68 65 73 20 21 3d 20 6e 75 6c ( Matches != nul
1a90: 6c 20 29 0d 0a 20 20 20 20 20 20 20 20 72 65 73 l ).. res
1aa0: 75 6c 74 20 3d 20 4d 61 74 63 68 65 73 5b 31 5d ult = Matches[1]
1ab0: 3b 0d 0a 20 20 20 20 20 0d 0a 20 20 20 20 20 72 ;.. .. r
1ac0: 65 74 75 72 6e 20 72 65 73 75 6c 74 0d 0a 7d 0d eturn result..}.
1ad0: 0a 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e .SyntaxAnalysis.
1ae0: 41 6e 61 6c 79 73 65 4d 6f 64 75 6c 65 20 3d 20 AnalyseModule =
1af0: 66 75 6e 63 74 69 6f 6e 20 28 73 6f 75 72 63 65 function (source
1b00: 43 6f 64 65 2c 20 69 6e 69 74 56 61 6c 75 65 54 Code, initValueT
1b10: 61 62 6c 65 2c 20 74 65 78 74 57 69 6e 64 6f 77 able, textWindow
1b20: 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 ) {.. .. v
1b30: 61 72 20 4d 65 74 68 3b 0d 0a 20 20 20 20 76 61 ar Meth;.. va
1b40: 72 20 73 74 53 74 61 72 74 20 3d 20 30 2c 20 73 r stStart = 0, s
1b50: 74 49 6e 50 72 6f 63 20 3d 20 31 2c 20 73 74 49 tInProc = 1, stI
1b60: 6e 4d 6f 64 75 6c 65 20 3d 20 32 2c 20 73 74 49 nModule = 2, stI
1b70: 6e 56 61 72 73 44 65 66 3b 0d 0a 20 20 20 20 76 nVarsDef;.. v
1b80: 61 72 20 73 74 61 74 65 20 3d 20 73 74 53 74 61 ar state = stSta
1b90: 72 74 2c 20 50 72 65 76 53 74 61 74 65 3b 0d 0a rt, PrevState;..
1ba0: 20 20 20 20 76 61 72 20 4d 61 74 63 68 3b 0d 0a var Match;..
1bb0: 20 20 20 20 76 61 72 20 43 6f 6e 74 65 78 74 20 var Context
1bc0: 3d 20 22 22 3b 0d 0a 0d 0a 20 20 20 20 76 61 72 = "";.... var
1bd0: 20 72 6f 6f 74 4f 62 6a 65 63 74 20 3d 20 6d 65 rootObject = me
1be0: 74 61 64 61 74 61 2e 63 75 72 72 65 6e 74 2e 72 tadata.current.r
1bf0: 6f 6f 74 4f 62 6a 65 63 74 3b 0d 0a 0d 0a 20 20 ootObject;....
1c00: 20 20 69 66 28 74 65 78 74 57 69 6e 64 6f 77 20 if(textWindow
1c10: 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 7b 0d 0a == undefined){..
1c20: 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a .. } else {..
1c30: 20 20 20 20 20 20 20 20 69 66 20 28 74 65 78 74 if (text
1c40: 57 69 6e 64 6f 77 2e 6d 64 43 6f 6e 74 29 7b 0d Window.mdCont){.
1c50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f . roo
1c60: 74 4f 62 6a 65 63 74 20 3d 20 74 65 78 74 57 69 tObject = textWi
1c70: 6e 64 6f 77 2e 6d 64 43 6f 6e 74 2e 72 6f 6f 74 ndow.mdCont.root
1c80: 4f 62 6a 65 63 74 3b 0d 0a 20 20 20 20 20 20 20 Object;..
1c90: 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 }.. }....
1ca0: 20 76 61 72 20 63 61 63 68 65 4d 65 74 61 64 61 var cacheMetada
1cb0: 74 61 20 3d 20 5b 5d 3b 0d 0a 20 20 20 20 0d 0a ta = [];.. ..
1cc0: 20 20 20 20 76 61 72 20 6d 6f 64 75 6c 65 43 6f var moduleCo
1cd0: 6e 74 65 78 74 20 3d 20 53 79 6e 74 61 78 41 6e ntext = SyntaxAn
1ce0: 61 6c 79 73 69 73 2e 43 72 65 61 74 65 31 43 4d alysis.Create1CM
1cf0: 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 63 oduleContextDesc
1d00: 72 69 70 74 69 6f 6e 28 69 6e 69 74 56 61 6c 75 ription(initValu
1d10: 65 54 61 62 6c 65 29 3b 0d 0a 20 20 20 20 20 20 eTable);..
1d20: 20 20 0d 0a 20 20 20 20 76 61 72 20 70 72 6f 63 .. var proc
1d30: 5f 63 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 _count = 0;..
1d40: 20 76 61 72 20 4c 69 6e 65 73 20 3d 20 73 6f 75 var Lines = sou
1d50: 72 63 65 43 6f 64 65 2e 73 70 6c 69 74 28 22 5c rceCode.split("\
1d60: 6e 22 29 3b 0d 0a 20 20 20 20 76 61 72 20 6e 20 n");.. var n
1d70: 3d 20 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 3b 0d = Lines.length;.
1d80: 0a 20 20 20 20 76 61 72 20 69 20 3d 20 30 3b 20 . var i = 0;
1d90: 0d 0a 20 20 20 20 76 61 72 20 6e 65 78 74 50 61 .. var nextPa
1da0: 72 74 20 3d 20 27 27 3b 0d 0a 20 20 20 20 77 68 rt = '';.. wh
1db0: 69 6c 65 20 28 69 20 3c 20 6e 29 0d 0a 20 20 20 ile (i < n)..
1dc0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 {.. var
1dd0: 73 74 72 20 3d 20 27 27 3b 0d 0a 20 20 20 20 20 str = '';..
1de0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 20 .. if
1df0: 28 6e 65 78 74 50 61 72 74 29 20 0d 0a 20 20 20 (nextPart) ..
1e00: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 {..
1e10: 20 20 20 20 73 74 72 20 3d 20 6e 65 78 74 50 61 str = nextPa
1e20: 72 74 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a rt;.. }..
1e30: 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 else..
1e40: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
1e50: 20 20 20 20 20 73 74 72 20 3d 20 74 68 69 73 2e str = this.
1e60: 41 6e 61 6c 79 73 65 43 6f 6d 6d 65 6e 74 73 28 AnalyseComments(
1e70: 4c 69 6e 65 73 5b 69 5d 29 3b 0d 0a 20 20 20 20 Lines[i]);..
1e80: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d }.. .
1e90: 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 . switch(
1ea0: 20 73 74 61 74 65 20 29 0d 0a 20 20 20 20 20 20 state )..
1eb0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 63 61 73 {.. cas
1ec0: 65 20 73 74 53 74 61 72 74 3a 20 20 20 20 20 20 e stStart:
1ed0: 20 20 0d 0a 20 20 20 20 20 20 20 20 63 61 73 65 .. case
1ee0: 20 73 74 49 6e 4d 6f 64 75 6c 65 3a 0d 0a 20 20 stInModule:..
1ef0: 20 20 20 20 20 20 20 20 20 20 76 61 72 20 4d 61 var Ma
1f00: 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e tches = SyntaxAn
1f10: 61 6c 79 73 69 73 2e 52 45 5f 43 4f 4e 54 45 58 alysis.RE_CONTEX
1f20: 54 2e 65 78 65 63 28 73 74 72 29 3b 0d 0a 20 20 T.exec(str);..
1f30: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 4d 61 if (Ma
1f40: 74 63 68 65 73 21 3d 6e 75 6c 6c 29 20 7b 0d 0a tches!=null) {..
1f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f60: 43 6f 6e 74 65 78 74 20 3d 20 53 79 6e 74 61 78 Context = Syntax
1f70: 41 6e 61 6c 79 73 69 73 2e 43 4f 4e 54 45 58 54 Analysis.CONTEXT
1f80: 5b 28 22 22 2b 4d 61 74 63 68 65 73 5b 31 5d 29 [(""+Matches[1])
1f90: 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 5d 3b .toLowerCase()];
1fa0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d .. }.
1fb0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 74 . Mat
1fc0: 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 ches = SyntaxAna
1fd0: 6c 79 73 69 73 2e 52 45 5f 50 52 4f 43 2e 65 78 lysis.RE_PROC.ex
1fe0: 65 63 28 73 74 72 29 3b 0d 0a 20 20 20 20 20 20 ec(str);..
1ff0: 20 20 20 20 20 20 69 66 28 20 4d 61 74 63 68 65 if( Matche
2000: 73 20 21 3d 20 6e 75 6c 6c 20 29 0d 0a 20 20 20 s != null )..
2010: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 {..
2020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2030: 4d 65 74 68 20 3d 20 53 79 6e 74 61 78 41 6e 61 Meth = SyntaxAna
2040: 6c 79 73 69 73 2e 43 72 65 61 74 65 31 43 4d 65 lysis.Create1CMe
2050: 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e 28 thodDescription(
2060: 6d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 29 3b 0d moduleContext);.
2070: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2080: 20 20 20 20 20 4d 65 74 68 2e 4e 61 6d 65 20 3d Meth.Name =
2090: 20 4d 61 74 63 68 65 73 5b 32 5d 3b 0d 0a 20 20 Matches[2];..
20a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20b0: 20 20 4d 65 74 68 2e 53 74 61 72 74 4c 69 6e 65 Meth.StartLine
20c0: 20 3d 20 69 3b 20 20 20 20 20 20 20 20 20 20 20 = i;
20d0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ..
20e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d M
20f0: 65 74 68 2e 49 73 50 72 6f 63 20 3d 20 28 4d 61 eth.IsProc = (Ma
2100: 74 63 68 65 73 5b 31 5d 2e 74 6f 4c 6f 77 65 72 tches[1].toLower
2110: 43 61 73 65 28 29 20 3d 3d 20 27 d0 bf d1 80 d0 Case() == '.....
2120: be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 27 20 7c .............' |
2130: 7c 20 4d 61 74 63 68 65 73 5b 31 5d 2e 74 6f 4c | Matches[1].toL
2140: 6f 77 65 72 43 61 73 65 28 29 20 3d 3d 20 27 70 owerCase() == 'p
2150: 72 6f 63 65 64 75 72 65 27 29 3b 0d 0a 20 20 20 rocedure');..
2160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2170: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2180: 20 20 20 20 20 20 20 4d 65 74 68 2e 43 6f 6e 74 Meth.Cont
2190: 65 78 74 20 3d 20 28 43 6f 6e 74 65 78 74 2e 6c ext = (Context.l
21a0: 65 6e 67 74 68 3e 30 29 3f 43 6f 6e 74 65 78 74 ength>0)?Context
21b0: 3a 22 d0 9d d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 b5 :"..............
21c0: d1 80 d0 b5 22 3b 20 2f 2f d0 9f d0 be d0 ba d0 ...."; //.......
21d0: b0 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20 d0 . ............ .
21e0: b4 d0 bb d1 8f 20 d1 82 d0 be d0 bd d0 ba d0 be ..... ..........
21f0: d0 b3 d0 be 20 d0 ba d0 bb d0 b8 d0 b5 d0 bd d1 .... ...........
2200: 82 d0 b0 2e 20 0d 0a 20 20 20 20 20 20 20 20 20 .... ..
2210: 20 20 20 20 20 20 20 20 20 20 20 73 74 72 20 3d str =
2220: 20 73 74 72 2e 73 75 62 73 74 72 28 4d 61 74 63 str.substr(Matc
2230: 68 65 73 2e 6c 61 73 74 49 6e 64 65 78 29 3b 0d hes.lastIndex);.
2240: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2250: 20 20 20 20 20 76 61 72 20 73 74 72 50 61 72 61 var strPara
2260: 6d 73 20 3d 20 27 27 3b 0d 0a 20 20 20 20 20 20 ms = '';..
2270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 Ma
2280: 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e tches = SyntaxAn
2290: 61 6c 79 73 69 73 2e 52 45 5f 50 41 52 41 4d 5f alysis.RE_PARAM_
22a0: 45 4e 44 2e 65 78 65 63 28 73 74 72 29 3b 0d 0a END.exec(str);..
22b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
22c0: 20 20 20 20 69 66 20 28 4d 61 74 63 68 65 73 21 if (Matches!
22d0: 3d 6e 75 6c 6c 29 20 7b 0d 0a 20 20 20 20 20 20 =null) {..
22e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
22f0: 20 20 73 74 72 50 61 72 61 6d 73 20 3d 20 4d 61 strParams = Ma
2300: 74 63 68 65 73 5b 31 5d 0d 0a 20 20 20 20 20 20 tches[1]..
2310: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 }
2320: 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 else {..
2330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2340: 73 74 72 50 61 72 61 6d 73 20 3d 20 27 27 2b 73 strParams = ''+s
2350: 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 tr;..
2360: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 2b 2b i++
2370: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
2380: 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 while
2390: 20 28 69 3c 6e 29 20 7b 20 0d 0a 20 20 20 20 20 (i<n) { ..
23a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23b0: 20 20 20 20 20 20 20 73 74 72 20 3d 20 74 68 69 str = thi
23c0: 73 2e 41 6e 61 6c 79 73 65 43 6f 6d 6d 65 6e 74 s.AnalyseComment
23d0: 73 28 4c 69 6e 65 73 5b 69 5d 29 3b 0d 0a 20 20 s(Lines[i]);..
23e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23f0: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 4d if ((M
2400: 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 atches = SyntaxA
2410: 6e 61 6c 79 73 69 73 2e 52 45 5f 50 41 52 41 4d nalysis.RE_PARAM
2420: 5f 45 4e 44 2e 65 78 65 63 28 73 74 72 29 29 21 _END.exec(str))!
2430: 3d 6e 75 6c 6c 29 20 7b 0d 0a 20 20 20 20 20 20 =null) {..
2440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2450: 20 20 20 20 20 20 20 20 20 20 73 74 72 50 61 72 strPar
2460: 61 6d 73 20 3d 20 73 74 72 50 61 72 61 6d 73 2b ams = strParams+
2470: 22 5c 6e 22 2b 4d 61 74 63 68 65 73 5b 31 5d 0d "\n"+Matches[1].
2480: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2490: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24a0: 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 break;..
24b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24c0: 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 } else {..
24d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 s
24f0: 74 72 50 61 72 61 6d 73 20 3d 20 73 74 72 50 61 trParams = strPa
2500: 72 61 6d 73 2b 22 5c 6e 22 2b 73 74 72 3b 0d 0a rams+"\n"+str;..
2510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2520: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 }..
2530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2540: 20 20 20 20 20 20 20 20 20 20 20 69 2b 2b 3b 0d i++;.
2550: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2560: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 }..
2570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2580: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 }..
2590: 20 20 20 20 20 20 20 74 68 69 73 2e 41 6e 61 6c this.Anal
25a0: 79 73 65 50 61 72 61 6d 73 28 73 74 72 50 61 72 yseParams(strPar
25b0: 61 6d 73 2c 20 4d 65 74 68 29 3b 0d 0a 20 20 20 ams, Meth);..
25c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
25d0: 20 76 61 72 20 65 6e 64 70 72 6f 63 20 3d 20 4d var endproc = M
25e0: 61 74 63 68 65 73 5b 32 5d 0d 0a 20 20 20 20 20 atches[2]..
25f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d .
2600: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2610: 20 20 20 20 20 6d 6f 64 75 6c 65 43 6f 6e 74 65 moduleConte
2620: 78 74 2e 61 64 64 4d 65 74 68 6f 64 28 4d 65 74 xt.addMethod(Met
2630: 68 29 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 20 h); ..
2640: 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 5f 63 proc_c
2650: 6f 75 6e 74 2b 2b 3b 0d 0a 20 20 20 20 20 20 20 ount++;..
2660: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 sta
2670: 74 65 20 3d 20 73 74 49 6e 50 72 6f 63 3b 0d 0a te = stInProc;..
2680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2690: 20 20 20 20 69 66 28 20 28 4d 61 74 63 68 20 3d if( (Match =
26a0: 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e SyntaxAnalysis.
26b0: 52 45 5f 50 52 4f 43 5f 45 4e 44 2e 65 78 65 63 RE_PROC_END.exec
26c0: 28 65 6e 64 70 72 6f 63 29 29 20 21 3d 20 6e 75 (endproc)) != nu
26d0: 6c 6c 20 29 0d 0a 20 20 20 20 20 20 20 20 20 20 ll )..
26e0: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 {..
26f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2700: 20 20 20 20 20 73 74 61 74 65 20 3d 20 73 74 49 state = stI
2710: 6e 4d 6f 64 75 6c 65 3b 0d 0a 20 20 20 20 20 20 nModule;..
2720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2730: 20 20 6e 65 78 74 50 61 72 74 20 3d 20 65 6e 64 nextPart = end
2740: 70 72 6f 63 2e 73 75 62 73 74 72 28 53 79 6e 74 proc.substr(Synt
2750: 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 50 52 axAnalysis.RE_PR
2760: 4f 43 5f 45 4e 44 2e 6c 61 73 74 49 6e 64 65 78 OC_END.lastIndex
2770: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
2780: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
2790: 6e 65 78 74 50 61 72 74 29 0d 0a 20 20 20 20 20 nextPart)..
27a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
27b0: 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b continue;
27c0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
27d0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 }..
27e0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ..
27f0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
2800: 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 28 else if ((
2810: 4d 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 Matches = Syntax
2820: 41 6e 61 6c 79 73 69 73 2e 52 45 5f 56 41 52 53 Analysis.RE_VARS
2830: 5f 44 45 46 2e 65 78 65 63 28 73 74 72 29 29 20 _DEF.exec(str))
2840: 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 != null)..
2850: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
2860: 20 20 20 20 20 20 20 20 20 73 74 72 20 3d 20 4d str = M
2870: 61 74 63 68 65 73 5b 31 5d 3b 0d 0a 20 20 20 20 atches[1];..
2880: 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 next
2890: 50 61 72 74 20 3d 20 4d 61 74 63 68 65 73 5b 34 Part = Matches[4
28a0: 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ];..
28b0: 20 20 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63 while( (Matc
28c0: 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c hes = SyntaxAnal
28d0: 79 73 69 73 2e 52 45 5f 56 41 52 2e 65 78 65 63 ysis.RE_VAR.exec
28e0: 28 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 (str)) != null )
28f0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2900: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 {..
2910: 20 20 20 20 20 20 20 20 20 69 66 28 20 50 72 65 if( Pre
2920: 76 53 74 61 74 65 20 3d 3d 20 73 74 49 6e 50 72 vState == stInPr
2930: 6f 63 20 29 0d 0a 20 20 20 20 20 20 20 20 20 20 oc )..
2940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 Me
2950: 74 68 2e 61 64 64 56 61 72 28 4d 61 74 63 68 65 th.addVar(Matche
2960: 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 s[1]);..
2970: 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 else
2980: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2990: 20 20 20 20 20 20 20 20 20 20 6d 6f 64 75 6c 65 module
29a0: 43 6f 6e 74 65 78 74 2e 61 64 64 56 61 72 28 4d Context.addVar(M
29b0: 61 74 63 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 20 atches[1]);..
29c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a }..
29d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
29e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
29f0: 20 20 69 66 20 28 6e 65 78 74 50 61 72 74 29 0d if (nextPart).
2a00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2a10: 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a continue;..
2a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2a30: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2a40: 20 20 73 74 72 20 3d 20 73 74 72 2e 72 65 70 6c str = str.repl
2a50: 61 63 65 28 53 79 6e 74 61 78 41 6e 61 6c 79 73 ace(SyntaxAnalys
2a60: 69 73 2e 52 45 5f 53 50 41 43 45 2c 20 22 22 29 is.RE_SPACE, "")
2a70: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
2a80: 20 20 20 69 66 28 20 73 74 72 2e 73 75 62 73 74 if( str.subst
2a90: 72 28 73 74 72 2e 6c 65 6e 67 74 68 2d 31 29 20 r(str.length-1)
2aa0: 3d 3d 20 22 3b 22 20 29 0d 0a 20 20 20 20 20 20 == ";" )..
2ab0: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 {..
2ac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2ad0: 20 73 74 61 74 65 20 3d 20 50 72 65 76 53 74 61 state = PrevSta
2ae0: 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 te;..
2af0: 20 20 20 20 20 7d 20 0d 0a 20 20 20 20 20 20 20 } ..
2b00: 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 else if
2b10: 20 28 73 74 72 2e 73 75 62 73 74 72 28 73 74 72 (str.substr(str
2b20: 2e 6c 65 6e 67 74 68 2d 31 29 20 3d 3d 20 22 2c .length-1) == ",
2b30: 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ")..
2b40: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 {..
2b50: 20 20 20 20 20 20 20 20 20 20 20 50 72 65 76 53 PrevS
2b60: 74 61 74 65 20 3d 20 73 74 61 74 65 3b 0d 0a 20 tate = state;..
2b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2b80: 20 20 20 73 74 61 74 65 20 3d 20 73 74 49 6e 56 state = stInV
2b90: 61 72 73 44 65 66 3b 0d 0a 20 20 20 20 20 20 20 arsDef;..
2ba0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 }..
2bb0: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 brea
2bc0: 6b 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a k; ..
2bd0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 }..
2be0: 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b break
2bf0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d ;.. .
2c00: 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 73 74 . case st
2c10: 49 6e 50 72 6f 63 3a 0d 0a 20 20 20 20 20 20 20 InProc:..
2c20: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d .. M
2c30: 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 atches = SyntaxA
2c40: 6e 61 6c 79 73 69 73 2e 52 45 5f 50 52 4f 43 5f nalysis.RE_PROC_
2c50: 45 4e 44 2e 65 78 65 63 28 73 74 72 29 3b 0d 0a END.exec(str);..
2c60: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 if(
2c70: 4d 61 74 63 68 65 73 20 21 3d 20 6e 75 6c 6c 20 Matches != null
2c80: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b ).. {
2c90: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2ca0: 20 20 69 66 28 20 73 74 61 74 65 20 3d 3d 20 73 if( state == s
2cb0: 74 49 6e 50 72 6f 63 20 29 20 4d 65 74 68 2e 45 tInProc ) Meth.E
2cc0: 6e 64 4c 69 6e 65 20 3d 20 69 3b 0d 0a 20 20 20 ndLine = i;..
2cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 sta
2ce0: 74 65 20 3d 20 73 74 49 6e 4d 6f 64 75 6c 65 3b te = stInModule;
2cf0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d .. }.
2d00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 . els
2d10: 65 20 69 66 28 20 28 4d 61 74 63 68 65 73 20 3d e if( (Matches =
2d20: 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e SyntaxAnalysis.
2d30: 52 45 5f 56 41 52 53 5f 44 45 46 2e 65 78 65 63 RE_VARS_DEF.exec
2d40: 28 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 (str)) != null )
2d50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d .. {.
2d60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2d70: 20 76 61 72 20 65 78 70 6f 72 74 65 64 20 3d 20 var exported =
2d80: 4d 61 74 63 68 65 73 5b 32 5d 3b 0d 0a 20 20 20 Matches[2];..
2d90: 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 var
2da0: 20 73 65 6d 69 63 6f 6c 6f 6e 20 3d 20 4d 61 74 semicolon = Mat
2db0: 63 68 65 73 5b 33 5d 2e 72 65 70 6c 61 63 65 28 ches[3].replace(
2dc0: 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 SyntaxAnalysis.R
2dd0: 45 5f 53 50 41 43 45 2c 20 22 22 29 3b 0d 0a 20 E_SPACE, "");..
2de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 s
2df0: 74 72 20 3d 20 4d 61 74 63 68 65 73 5b 31 5d 3b tr = Matches[1];
2e00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2e10: 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63 68 65 while( (Matche
2e20: 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 s = SyntaxAnalys
2e30: 69 73 2e 52 45 5f 56 41 52 2e 65 78 65 63 28 73 is.RE_VAR.exec(s
2e40: 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 0d 0a tr)) != null )..
2e50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2e60: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {..
2e70: 20 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 if( state
2e80: 20 3d 3d 20 73 74 49 6e 50 72 6f 63 20 29 0d 0a == stInProc )..
2e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2ea0: 20 20 20 20 20 20 20 20 4d 65 74 68 2e 61 64 64 Meth.add
2eb0: 56 61 72 28 4d 61 74 63 68 65 73 5b 31 5d 29 3b Var(Matches[1]);
2ec0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2ed0: 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 else..
2ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2ef0: 20 20 20 20 6d 6f 64 75 6c 65 43 6f 6e 74 65 78 moduleContex
2f00: 74 2e 61 64 64 56 61 72 28 4d 61 74 63 68 65 73 t.addVar(Matches
2f10: 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 [1]);..
2f20: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
2f30: 20 20 20 20 20 20 20 20 20 20 69 66 28 20 73 65 if( se
2f40: 6d 69 63 6f 6c 6f 6e 20 21 3d 20 22 3b 22 20 29 micolon != ";" )
2f50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2f60: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 {..
2f70: 20 20 20 20 20 20 20 20 20 50 72 65 76 53 74 61 PrevSta
2f80: 74 65 20 3d 20 73 74 61 74 65 3b 0d 0a 20 20 20 te = state;..
2f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2fa0: 20 73 74 61 74 65 20 3d 20 73 74 49 6e 56 61 72 state = stInVar
2fb0: 73 44 65 66 3b 0d 0a 20 20 20 20 20 20 20 20 20 sDef;..
2fc0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
2fd0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 }..
2fe0: 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 else..
2ff0: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
3000: 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 while(
3010: 20 28 4d 61 74 63 68 65 73 20 3d 20 53 79 6e 74 (Matches = Synt
3020: 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 56 41 axAnalysis.RE_VA
3030: 52 5f 41 53 53 49 47 4e 2e 65 78 65 63 28 73 74 R_ASSIGN.exec(st
3040: 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 0d 0a 20 r)) != null )..
3050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b {
3060: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3070: 20 20 20 20 20 20 76 61 72 20 76 61 72 4e 61 6d var varNam
3080: 65 20 3d 20 4d 61 74 63 68 65 73 5b 31 5d 3b 20 e = Matches[1];
3090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
30a0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ..
30b0: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ..
30c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 i
30d0: 66 28 20 76 61 72 4e 61 6d 65 2e 69 6e 64 65 78 f( varName.index
30e0: 4f 66 28 22 2e 22 2c 20 30 29 20 3e 3d 20 30 20 Of(".", 0) >= 0
30f0: 29 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 ) continue;..
3100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3110: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3120: 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 65 if (state
3130: 20 3d 3d 20 73 74 49 6e 50 72 6f 63 29 0d 0a 20 == stInProc)..
3140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3150: 20 20 20 20 20 20 20 4d 65 74 68 2e 61 64 64 56 Meth.addV
3160: 61 72 28 76 61 72 4e 61 6d 65 2c 20 6e 75 6c 6c ar(varName, null
3170: 2c 20 74 72 75 65 29 3b 20 2f 2f 20 61 75 74 6f , true); // auto
3180: 6d 61 74 69 63 20 76 61 72 0d 0a 20 20 20 20 20 matic var..
3190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 e
31a0: 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 lse..
31b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 mod
31c0: 75 6c 65 43 6f 6e 74 65 78 74 2e 61 64 64 56 61 uleContext.addVa
31d0: 72 28 76 61 72 4e 61 6d 65 29 3b 0d 0a 20 20 20 r(varName);..
31e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a }..
31f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3200: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3210: 20 20 69 66 28 20 73 74 61 74 65 20 3d 3d 20 73 if( state == s
3220: 74 49 6e 50 72 6f 63 20 29 0d 0a 20 20 20 20 20 tInProc )..
3230: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 {..
3240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3250: 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63 68 65 while( (Matche
3260: 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 s = SyntaxAnalys
3270: 69 73 2e 52 45 5f 43 41 4c 4c 2e 65 78 65 63 28 is.RE_CALL.exec(
3280: 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 0d str)) != null ).
3290: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
32a0: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 {..
32b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
32c0: 69 66 28 20 4d 61 74 63 68 65 73 5b 31 5d 2e 69 if( Matches[1].i
32d0: 6e 64 65 78 4f 66 28 27 2e 27 29 20 3e 3d 20 30 ndexOf('.') >= 0
32e0: 20 29 7b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 ){....
32f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3300: 20 20 20 61 64 64 54 6f 43 61 6c 6c 73 20 3d 20 addToCalls =
3310: 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 false;..
3320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3330: 20 20 20 20 63 61 6c 6c 41 72 72 61 79 20 3d 20 callArray =
3340: 20 4d 61 74 63 68 65 73 5b 31 5d 2e 73 70 6c 69 Matches[1].spli
3350: 74 28 22 2e 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 t(".");....
3360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3370: 20 20 20 20 20 20 20 6d 64 4f 62 6a 65 63 74 20 mdObject
3380: 3d 20 72 6f 6f 74 4f 62 6a 65 63 74 3b 0d 0a 0d = rootObject;...
3390: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
33a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 if
33b0: 28 63 61 6c 6c 41 72 72 61 79 2e 6c 65 6e 67 74 (callArray.lengt
33c0: 68 20 3e 20 32 29 7b 0d 0a 20 20 20 20 20 20 20 h > 2){..
33d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
33e0: 20 20 20 20 20 20 20 20 20 2f 2f d0 ad d1 82 d0 //.....
33f0: be 20 d0 bf d0 be 20 d0 b4 d0 be d0 ba d1 83 d0 . .... .........
3400: bc d0 b5 d0 bd d1 82 d0 b0 d0 bc 2c 20 d1 81 d0 ..........., ...
3410: bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 bd d0 b8 d0 ................
3420: ba d0 b0 d0 bc 20 d0 b8 20 d1 82 2e d0 b4 2e 20 ..... .. ......
3430: d0 b8 d0 b4 d0 b5 d0 bc 2e 0d 0a 20 20 20 20 20 ...........
3440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3450: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 6d 65 74 //met
3460: 61 64 61 74 61 4e 61 6d 65 20 3d 20 4d 61 74 63 adataName = Matc
3470: 68 65 73 5b 31 5d 2e 73 6c 69 63 65 28 30 2c 20 hes[1].slice(0,
3480: 4d 61 74 63 68 65 73 5b 31 5d 2e 69 6e 64 65 78 Matches[1].index
3490: 4f 66 28 27 2e 27 29 29 3b 0d 0a 20 20 20 20 20 Of('.'));..
34a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
34b0: 20 20 20 20 20 20 20 20 20 20 20 74 72 79 7b 0d try{.
34c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
34d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
34e0: 20 20 20 20 20 6d 64 4f 62 6a 65 63 74 20 3d 20 mdObject =
34f0: 72 6f 6f 74 4f 62 6a 65 63 74 2e 63 68 69 6c 64 rootObject.child
3500: 4f 62 6a 65 63 74 28 63 61 6c 6c 41 72 72 61 79 Object(callArray
3510: 5b 30 5d 2c 20 63 61 6c 6c 41 72 72 61 79 5b 31 [0], callArray[1
3520: 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ]);..
3530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3540: 20 20 20 20 20 20 20 20 20 69 66 28 6d 64 4f 62 if(mdOb
3550: 6a 65 63 2e 6e 61 6d 65 2e 74 6f 53 74 72 69 6e jec.name.toStrin
3560: 67 28 29 2e 6c 65 6e 67 74 68 3e 30 29 7b 0d 0a g().length>0){..
3570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3590: 20 20 20 20 20 20 20 20 61 64 64 54 6f 43 61 6c addToCal
35a0: 6c 73 20 3d 20 74 72 75 65 3b 0d 0a 20 20 20 20 ls = true;..
35b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
35c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
35d0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 }..
35e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
35f0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
3600: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3610: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 63 } c
3620: 61 74 63 68 28 65 29 7b 7d 0d 0a 20 20 20 20 20 atch(e){}..
3630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3640: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 } else if
3650: 28 63 61 6c 6c 41 72 72 61 79 2e 6c 65 6e 67 74 (callArray.lengt
3660: 68 20 3e 20 31 20 26 26 20 63 61 6c 6c 41 72 72 h > 1 && callArr
3670: 61 79 5b 30 5d 2e 6c 65 6e 67 74 68 20 3e 20 30 ay[0].length > 0
3680: 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ) {..
3690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
36a0: 20 20 20 20 20 2f 2f d0 a2 d1 83 d1 82 20 d0 bf //...... ..
36b0: d0 be 20 d0 be d0 b1 d1 89 d0 b8 d0 bc 20 d0 bc .. .......... ..
36c0: d0 be d0 b4 d1 83 d0 bb d1 8f d0 bc 20 d0 bf d1 ............ ...
36d0: 80 d0 be d0 b9 d0 b4 d0 b5 d0 bc d1 81 d1 8f 2e ................
36e0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
36f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3700: 20 20 20 74 72 79 7b 0d 0a 20 20 20 20 20 20 20 try{..
3710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3720: 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 64 4f mdO
3730: 62 6a 65 63 74 20 3d 20 72 6f 6f 74 4f 62 6a 65 bject = rootObje
3740: 63 74 2e 63 68 69 6c 64 4f 62 6a 65 63 74 28 22 ct.childObject("
3750: d0 9e d0 b1 d1 89 d0 b8 d0 b5 d0 9c d0 be d0 b4 ................
3760: d1 83 d0 bb d0 b8 22 2c 20 63 61 6c 6c 41 72 72 ......", callArr
3770: 61 79 5b 30 5d 29 3b 0d 0a 20 20 20 20 20 20 20 ay[0]);..
3780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3790: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 if(
37a0: 6d 64 4f 62 6a 65 63 2e 6e 61 6d 65 2e 74 6f 53 mdObjec.name.toS
37b0: 74 72 69 6e 67 28 29 2e 6c 65 6e 67 74 68 3e 30 tring().length>0
37c0: 29 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ){..
37d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
37e0: 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 54 addT
37f0: 6f 43 61 6c 6c 73 20 3d 20 74 72 75 65 3b 0d 0a oCalls = true;..
3800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3820: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 }..
3830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3840: 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 28 65 } catch(e
3850: 29 7b 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ){}..
3860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3870: 20 7d 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 } ....
3880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3890: 20 20 20 2f 2f 69 66 28 77 61 6c 6b 4d 65 74 61 //if(walkMeta
38a0: 64 61 74 61 28 72 6f 6f 74 4f 62 6a 65 63 74 2c data(rootObject,
38b0: 20 6d 65 74 61 64 61 74 61 4e 61 6d 65 2c 20 63 metadataName, c
38c0: 61 63 68 65 4d 65 74 61 64 61 74 61 29 29 7b 0d acheMetadata)){.
38d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
38e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 if(
38f0: 61 64 64 54 6f 43 61 6c 6c 73 29 7b 0d 0a 20 20 addToCalls){..
3900: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 if
3920: 28 4d 65 74 68 2e 43 61 6c 6c 73 2e 69 6e 64 65 (Meth.Calls.inde
3930: 78 4f 66 28 4d 61 74 63 68 65 73 5b 31 5d 29 20 xOf(Matches[1])
3940: 3e 3d 20 30 29 20 63 6f 6e 74 69 6e 75 65 3b 0d >= 0) continue;.
3950: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3970: 20 4d 65 74 68 2e 43 61 6c 6c 73 2e 70 75 73 68 Meth.Calls.push
3980: 28 4d 61 74 63 68 65 73 5b 31 5d 29 3b 0d 0a 0d (Matches[1]);...
3990: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
39a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a }..
39b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
39c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f //
39d0: d0 a1 d0 b4 d0 b5 d0 bb d0 b0 d0 b5 d0 bc 20 d0 .............. .
39e0: bf d0 be d0 b8 d1 81 d0 ba 20 d0 bf d0 be 20 d0 ......... .... .
39f0: be d0 b1 d1 89 d0 b8 d0 bc 20 d0 bc d0 be d0 b4 ......... ......
3a00: d1 83 d0 bb d1 8f d0 bc 20 d0 b8 d0 bb d0 b8 20 ........ ......
3a10: d0 bf d0 be d0 b4 20 d0 b4 d0 be d0 ba d1 83 d0 ...... .........
3a20: bc d0 b5 d0 bd d1 82 d0 b0 d0 bc 2c 20 d0 b2 d0 ..........., ...
3a30: b4 d1 80 d1 83 d0 b3 20 d1 82 d0 b0 d0 bc 20 d1 ....... ...... .
3a40: 83 20 d0 bd d0 b0 d1 81 20 d1 81 d1 82 d0 b0 d1 . ...... .......
3a50: 82 d0 b8 d1 87 d0 b5 d1 81 d0 ba d0 b8 d0 b9 20 ...............
3a60: d0 b2 d1 8b d0 b7 d0 be d0 b2 2e 20 0d 0a 20 20 ........... ..
3a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3a80: 20 20 20 20 20 20 20 20 20 20 2f 2f 76 61 72 20 //var
3a90: 6d 64 52 65 66 20 3d 20 6d 65 74 61 64 61 74 61 mdRef = metadata
3aa0: 2e 63 75 72 72 65 6e 74 2e 72 6f 6f 74 4f 62 6a .current.rootObj
3ab0: 65 63 74 2e 63 68 69 6c 64 4f 62 6a 65 63 74 28 ect.childObject(
3ac0: 22 d0 a1 d0 bf d1 80 d0 b0 d0 b2 d0 be d1 87 d0 "...............
3ad0: bd d0 b8 d0 ba d0 b8 22 2c 20 22 d0 9d d0 be d0 .......", ".....
3ae0: bc d0 b5 d0 bd d0 ba d0 bb d0 b0 d1 82 d1 83 d1 ................
3af0: 80 d0 b0 22 29 0d 0a 20 20 20 20 20 20 20 20 20 ...")..
3b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d }
3b10: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3b20: 20 20 20 20 20 20 20 20 20 20 69 66 28 20 4d 65 if( Me
3b30: 74 68 2e 43 61 6c 6c 73 2e 69 6e 64 65 78 4f 66 th.Calls.indexOf
3b40: 28 4d 61 74 63 68 65 73 5b 31 5d 29 20 3e 3d 20 (Matches[1]) >=
3b50: 30 29 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 0) continue;..
3b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3b70: 20 20 20 20 20 20 4d 65 74 68 2e 43 61 6c 6c 73 Meth.Calls
3b80: 2e 70 75 73 68 28 4d 61 74 63 68 65 73 5b 31 5d .push(Matches[1]
3b90: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
3ba0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
3bb0: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 }..
3bc0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 }..
3bd0: 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 20 break;
3be0: 20 0d 0a 0d 0a 20 20 20 20 20 20 20 20 63 61 73 .... cas
3bf0: 65 20 73 74 49 6e 56 61 72 73 44 65 66 3a 0d 0a e stInVarsDef:..
3c00: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
3c10: 20 20 20 20 20 20 77 68 69 6c 65 28 20 28 4d 61 while( (Ma
3c20: 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e tches = SyntaxAn
3c30: 61 6c 79 73 69 73 2e 52 45 5f 56 41 52 2e 65 78 alysis.RE_VAR.ex
3c40: 65 63 28 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c ec(str)) != null
3c50: 20 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 )..
3c60: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {..
3c70: 20 20 20 69 66 28 20 50 72 65 76 53 74 61 74 65 if( PrevState
3c80: 20 3d 3d 20 73 74 49 6e 50 72 6f 63 20 29 0d 0a == stInProc )..
3c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3ca0: 20 20 20 20 4d 65 74 68 2e 61 64 64 56 61 72 28 Meth.addVar(
3cb0: 4d 61 74 63 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 Matches[1]);..
3cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c el
3cd0: 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 se..
3ce0: 20 20 20 20 20 20 20 20 6d 6f 64 75 6c 65 43 6f moduleCo
3cf0: 6e 74 65 78 74 2e 61 64 64 56 61 72 28 4d 61 74 ntext.addVar(Mat
3d00: 63 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 ches[1]);..
3d10: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
3d20: 20 20 20 20 20 20 73 74 72 20 3d 20 73 74 72 2e str = str.
3d30: 72 65 70 6c 61 63 65 28 53 79 6e 74 61 78 41 6e replace(SyntaxAn
3d40: 61 6c 79 73 69 73 2e 52 45 5f 53 50 41 43 45 2c alysis.RE_SPACE,
3d50: 20 22 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 "");..
3d60: 20 20 20 69 66 28 20 73 74 72 2e 73 75 62 73 74 if( str.subst
3d70: 72 28 73 74 72 2e 6c 65 6e 67 74 68 2d 31 29 20 r(str.length-1)
3d80: 3d 3d 20 22 3b 22 20 29 0d 0a 20 20 20 20 20 20 == ";" )..
3d90: 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 state
3da0: 3d 20 50 72 65 76 53 74 61 74 65 3b 0d 0a 20 20 = PrevState;..
3db0: 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b break;
3dc0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a .. ..
3dd0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
3de0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 2b 2b .. i++
3df0: 3b 0d 0a 20 20 20 20 20 20 20 20 6e 65 78 74 50 ;.. nextP
3e00: 61 72 74 20 3d 20 27 27 3b 0d 0a 20 20 20 20 7d art = '';.. }
3e10: 0d 0a 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 6d .... return m
3e20: 6f 64 75 6c 65 43 6f 6e 74 65 78 74 3b 0d 0a 7d oduleContext;..}
3e30: 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ....////////////
3e40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3e50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3e60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3e70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3e80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f ////////////..//
3e90: 2f 2f 7b 20 5f 31 43 4d 6f 64 75 6c 65 0d 0a 0d //{ _1CModule...
3ea0: 0a 66 75 6e 63 74 69 6f 6e 20 5f 31 43 4d 6f 64 .function _1CMod
3eb0: 75 6c 65 28 74 65 78 74 57 69 6e 64 6f 77 29 20 ule(textWindow)
3ec0: 7b 0d 0a 20 20 20 20 74 68 69 73 2e 74 65 78 74 {.. this.text
3ed0: 57 69 6e 64 6f 77 20 3d 20 74 65 78 74 57 69 6e Window = textWin
3ee0: 64 6f 77 3b 0d 0a 20 20 20 20 74 68 69 73 2e 63 dow;.. this.c
3ef0: 6f 6e 74 65 78 74 20 3d 20 53 79 6e 74 61 78 41 ontext = SyntaxA
3f00: 6e 61 6c 79 73 69 73 2e 41 6e 61 6c 79 73 65 4d nalysis.AnalyseM
3f10: 6f 64 75 6c 65 28 74 68 69 73 2e 74 65 78 74 57 odule(this.textW
3f20: 69 6e 64 6f 77 2e 47 65 74 54 65 78 74 28 29 2c indow.GetText(),
3f30: 20 74 72 75 65 2c 20 74 68 69 73 2e 74 65 78 74 true, this.text
3f40: 57 69 6e 64 6f 77 29 3b 0d 0a 7d 0d 0a 0d 0a 2f Window);..}..../
3f50: 2a 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 * ..............
3f60: d0 b0 d0 b5 d1 82 20 d0 b8 d1 81 d1 85 d0 be d0 ...... .........
3f70: b4 d0 bd d1 8b d0 b9 20 d0 ba d0 be d0 b4 20 d0 ....... ...... .
3f80: bc d0 b5 d1 82 d0 be d0 b4 d0 b0 20 d0 bf d0 be ........... ....
3f90: 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1 ...............
3fa0: 8e 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 20 . .............
3fb0: 2a 2f 0d 0a 5f 31 43 4d 6f 64 75 6c 65 2e 70 72 */.._1CModule.pr
3fc0: 6f 74 6f 74 79 70 65 2e 67 65 74 4d 65 74 68 6f ototype.getMetho
3fd0: 64 53 6f 75 72 63 65 20 3d 20 66 75 6e 63 74 69 dSource = functi
3fe0: 6f 6e 28 6d 65 74 68 6f 64 4e 61 6d 65 29 20 7b on(methodName) {
3ff0: 0d 0a 20 20 20 20 76 61 72 20 6d 65 74 68 6f 64 .. var method
4000: 20 3d 20 74 68 69 73 2e 63 6f 6e 74 65 78 74 2e = this.context.
4010: 67 65 74 4d 65 74 68 6f 64 42 79 4e 61 6d 65 28 getMethodByName(
4020: 6d 65 74 68 6f 64 4e 61 6d 65 29 3b 0d 0a 20 20 methodName);..
4030: 20 20 69 66 20 28 21 6d 65 74 68 6f 64 29 20 72 if (!method) r
4040: 65 74 75 72 6e 20 75 6e 64 65 66 69 6e 65 64 3b eturn undefined;
4050: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 .. return thi
4060: 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 52 61 6e s.textWindow.Ran
4070: 67 65 28 6d 65 74 68 6f 64 2e 53 74 61 72 74 4c ge(method.StartL
4080: 69 6e 65 20 2b 20 31 2c 20 31 2c 20 6d 65 74 68 ine + 1, 1, meth
4090: 6f 64 2e 45 6e 64 4c 69 6e 65 20 2b 20 31 29 2e od.EndLine + 1).
40a0: 47 65 74 54 65 78 74 28 29 3b 0d 0a 7d 0d 0a 0d GetText();..}...
40b0: 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 ./* ............
40c0: d1 89 d0 b0 d0 b5 d1 82 20 d1 82 d0 b0 d0 b1 d0 ........ .......
40d0: bb d0 b8 d1 86 d1 83 20 d0 b7 d0 bd d0 b0 d1 87 ....... ........
40e0: d0 b5 d0 bd d0 b8 d0 b9 20 d1 81 20 d0 be d0 bf ........ .. ....
40f0: d0 b8 d1 81 d0 b0 d0 bd d0 b8 d1 8f d0 bc d0 b8 ................
4100: 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 be d0 b2 20 ..............
4110: d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 2e 20 2a 2f ............. */
4120: 0d 0a 5f 31 43 4d 6f 64 75 6c 65 2e 70 72 6f 74 .._1CModule.prot
4130: 6f 74 79 70 65 2e 67 65 74 4d 65 74 68 6f 64 73 otype.getMethods
4140: 54 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e Table = function
4150: 28 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e () {.. return
4160: 20 74 68 69 73 2e 63 6f 6e 74 65 78 74 2e 5f 76 this.context._v
4170: 74 41 6c 6c 4d 65 74 68 6f 64 73 2e 43 6f 70 79 tAllMethods.Copy
4180: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d0 ();..}..../* ...
4190: be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 ................
41a0: 82 20 d0 be d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 . ..............
41b0: d0 b5 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 20 .. ............
41c0: d0 bf d0 be 20 d0 bd d0 be d0 bc d0 b5 d1 80 d1 .... ...........
41d0: 83 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 2c 20 . ............,
41e0: d0 bd d0 b0 d1 85 d0 be d0 b4 d1 8f d1 89 d0 b5 ................
41f0: d0 b9 d1 81 d1 8f 20 d0 b2 d0 bd d1 83 d1 82 d1 ...... .........
4200: 80 d0 b8 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 ... ............
4210: 2e 20 2a 2f 0d 0a 5f 31 43 4d 6f 64 75 6c 65 2e . */.._1CModule.
4220: 70 72 6f 74 6f 74 79 70 65 2e 67 65 74 4d 65 74 prototype.getMet
4230: 68 6f 64 42 79 4c 69 6e 65 4e 75 6d 62 65 72 20 hodByLineNumber
4240: 3d 20 66 75 6e 63 74 69 6f 6e 20 28 6c 69 6e 65 = function (line
4250: 4e 6f 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 61 72 No) {.... var
4260: 20 6d 65 74 68 6f 64 73 20 3d 20 74 68 69 73 2e methods = this.
4270: 63 6f 6e 74 65 78 74 2e 4d 65 74 68 6f 64 73 3b context.Methods;
4280: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 66 6f 72 20 .. .. for
4290: 28 76 61 72 20 69 3d 30 3b 20 69 3c 6d 65 74 68 (var i=0; i<meth
42a0: 6f 64 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 ods.length; i++)
42b0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 .. {..
42c0: 20 2f 2a 20 d0 9f d0 be d0 bc d0 bd d0 b8 d0 bc /* ............
42d0: 2c 20 d1 87 d1 82 d0 be 20 d0 bd d1 83 d0 bc d0 , ...... .......
42e0: b5 d1 80 d0 b0 d1 86 d0 b8 d1 8f 20 d1 81 d1 82 ........... ....
42f0: d1 80 d0 be d0 ba 20 d0 bd d0 b0 d1 87 d0 b8 d0 ...... .........
4300: bd d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d1 81 20 31 ........... .. 1
4310: 2c 20 0d 0a 20 20 20 20 20 20 20 20 d0 b0 20 d1 , .. .. .
4320: 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 bc d0 be ........... ....
4330: d0 b4 d1 83 d0 bb d1 8f 20 d0 b2 20 53 79 6e 74 ........ .. Synt
4340: 61 78 41 6e 61 6c 79 73 69 73 20 d0 bf d1 80 d0 axAnalysis .....
4350: be d0 b8 d0 bd d0 b4 d0 b5 d0 ba d1 81 d0 b8 d1 ................
4360: 80 d0 be d0 b2 d0 b0 d0 bd d1 8b 20 d1 81 20 30 ........... .. 0
4370: 2e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 69 66 . */.. if
4380: 20 28 6d 65 74 68 6f 64 73 5b 69 5d 2e 53 74 61 (methods[i].Sta
4390: 72 74 4c 69 6e 65 20 2b 20 31 20 3c 3d 20 6c 69 rtLine + 1 <= li
43a0: 6e 65 4e 6f 20 26 26 20 6c 69 6e 65 4e 6f 20 3c neNo && lineNo <
43b0: 3d 20 6d 65 74 68 6f 64 73 5b 69 5d 2e 45 6e 64 = methods[i].End
43c0: 4c 69 6e 65 20 2b 20 31 29 0d 0a 20 20 20 20 20 Line + 1)..
43d0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 return me
43e0: 74 68 6f 64 73 5b 69 5d 3b 0d 0a 20 20 20 20 7d thods[i];.. }
43f0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 72 65 74 75 .. .. retu
4400: 72 6e 20 75 6e 64 65 66 69 6e 65 64 3b 0d 0a 7d rn undefined;..}
4410: 0d 0a 0d 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 b2 d1 ..../* .........
4420: 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 be d0 bf ........... ....
4430: d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bc d0 ............ ...
4440: b5 d1 82 d0 be d0 b4 d0 b0 2c 20 d0 ba d0 be d1 ........., .....
4450: 82 d0 be d1 80 d0 be d0 bc d1 83 20 d0 bf d1 80 ........... ....
4460: d0 b8 d0 bd d0 b0 d0 b4 d0 bb d0 b5 d0 b6 d0 b8 ................
4470: d1 82 20 d1 82 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 .. .............
4480: 8f 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 20 0d . ............ .
4490: 0a 28 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 2c 20 .(............,
44a0: d0 b2 20 d0 ba d0 be d1 82 d0 be d1 80 d0 be d0 .. .............
44b0: b9 20 d0 bd d0 b0 d1 85 d0 be d0 b4 d0 b8 d1 82 . ..............
44c0: d1 81 d1 8f 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 .... ...........
44d0: 80 29 2e 20 2a 2f 0d 0a 5f 31 43 4d 6f 64 75 6c .). */.._1CModul
44e0: 65 2e 70 72 6f 74 6f 74 79 70 65 2e 67 65 74 41 e.prototype.getA
44f0: 63 74 69 76 65 4c 69 6e 65 4d 65 74 68 6f 64 20 ctiveLineMethod
4500: 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 7b 0d = function () {.
4510: 0a 20 20 20 20 76 61 72 20 70 6f 73 20 3d 20 74 . var pos = t
4520: 68 69 73 2e 74 65 78 74 57 69 6e 64 6f 77 2e 47 his.textWindow.G
4530: 65 74 43 61 72 65 74 50 6f 73 28 29 3b 0d 0a 20 etCaretPos();..
4540: 20 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 67 return this.g
4550: 65 74 4d 65 74 68 6f 64 42 79 4c 69 6e 65 4e 75 etMethodByLineNu
4560: 6d 62 65 72 28 70 6f 73 2e 62 65 67 69 6e 52 6f mber(pos.beginRo
4570: 77 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 w);..}....////}
4580: 5f 31 43 4d 6f 64 75 6c 65 0d 0a 0d 0a 2f 2f 2f _1CModule....///
4590: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
45a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
45b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
45c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
45d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
45e0: 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 5f 31 43 /////..////{ _1C
45f0: 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 ModuleContextDes
4600: 63 72 69 70 74 69 6f 6e 0d 0a 0d 0a 66 75 6e 63 cription....func
4610: 74 69 6f 6e 20 5f 31 43 4d 6f 64 75 6c 65 43 6f tion _1CModuleCo
4620: 6e 74 65 78 74 44 65 73 63 72 69 70 74 69 6f 6e ntextDescription
4630: 28 69 6e 69 74 56 61 6c 75 65 54 61 62 6c 65 29 (initValueTable)
4640: 20 7b 0d 0a 0d 0a 20 20 20 20 2f 2f 20 d0 9c d0 {.... // ...
4650: b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 b2 d1 81 d0 b5 ......... ......
4660: d1 85 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 be d0 .. .............
4670: b2 20 d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 2e 0d . ..............
4680: 0a 20 20 20 20 74 68 69 73 2e 4d 65 74 68 6f 64 . this.Method
4690: 73 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29 3b s = new Array();
46a0: 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 .. ..
46b0: 2f 2f 20 d0 90 d1 81 d1 81 d0 be d1 86 d0 b8 d0 // .............
46c0: b0 d1 82 d0 b8 d0 b2 d0 bd d1 8b d0 b9 20 d0 bc ............. ..
46d0: d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 98 d0 bc d1 .......... .....
46e0: 8f 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 20 2d . ............ -
46f0: 3e 20 5f 31 43 4d 65 74 68 6f 64 44 65 73 63 72 > _1CMethodDescr
4700: 69 70 74 69 6f 6e 0d 0a 20 20 20 20 74 68 69 73 iption.. this
4710: 2e 5f 6d 65 74 68 6f 64 73 42 79 4e 61 6d 65 20 ._methodsByName
4720: 3d 20 7b 7d 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 = {};.. ..
4730: 20 2f 2f 20 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 // ............
4740: 20 d0 b2 d1 81 d0 b5 d1 85 20 d1 8f d0 b2 d0 bd ........ ......
4750: d1 8b d0 bc 20 d0 be d0 b1 d1 80 d0 b0 d0 b7 d0 .... ...........
4760: be d0 bc 20 d0 be d0 b1 d1 8a d1 8f d0 b2 d0 bb ... ............
4770: d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bf d0 b5 d1 .......... .....
4780: 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 ...............
4790: d0 bc d0 be d0 b4 d1 83 d0 bb d1 8f 2e 0d 0a 20 ...............
47a0: 20 20 20 74 68 69 73 2e 4d 6f 64 75 6c 65 56 61 this.ModuleVa
47b0: 72 73 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29 rs = new Array()
47c0: 3b 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 0d ; .. .
47d0: 0a 20 20 20 20 2f 2f 20 d0 90 d1 81 d1 81 d0 be . // ........
47e0: d1 86 d0 b8 d0 b0 d1 82 d0 b8 d0 b2 d0 bd d1 8b ................
47f0: d0 b9 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 .. ............
4800: d0 98 d0 bc d1 8f 20 d0 bf d0 b5 d1 80 d0 b5 d0 ...... .........
4810: bc d0 b5 d0 bd d0 bd d0 be d0 b9 20 2d 3e 20 d0 ........... -> .
4820: a2 d0 b8 d0 bf 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc ..... ..........
4830: d0 b5 d0 bd d0 bd d0 be d0 b9 20 28 d0 bf d0 be .......... (....
4840: d0 ba d0 b0 20 d1 82 d0 b8 d0 bf 20 d0 b2 d1 81 .... ...... ....
4850: d0 b5 d0 b3 d0 b4 d0 b0 20 6e 75 6c 6c 29 2e 0d ........ null)..
4860: 0a 20 20 20 20 74 68 69 73 2e 5f 6d 6f 64 75 6c . this._modul
4870: 65 56 61 72 73 54 79 70 65 73 20 3d 20 7b 7d 3b eVarsTypes = {};
4880: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 .. .. this
4890: 2e 5f 76 74 41 6c 6c 4d 65 74 68 6f 64 73 20 3d ._vtAllMethods =
48a0: 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 69 66 20 28 null;.. if (
48b0: 69 6e 69 74 56 61 6c 75 65 54 61 62 6c 65 29 20 initValueTable)
48c0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 .. {..
48d0: 20 76 61 72 20 76 38 54 79 70 65 5f 53 74 72 69 var v8Type_Stri
48e0: 6e 67 20 3d 20 76 38 4e 65 77 28 27 54 79 70 65 ng = v8New('Type
48f0: 44 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 27 d0 Description', '.
4900: a1 d1 82 d1 80 d0 be d0 ba d0 b0 27 2c 20 75 6e ...........', un
4910: 64 65 66 69 6e 65 64 2c 20 76 38 4e 65 77 28 27 defined, v8New('
4920: 53 74 72 69 6e 67 51 75 61 6c 69 66 69 65 72 73 StringQualifiers
4930: 27 2c 20 32 35 35 29 29 3b 0d 0a 20 20 20 20 20 ', 255));..
4940: 20 20 20 76 61 72 20 76 38 54 79 70 65 5f 4e 75 var v8Type_Nu
4950: 6d 62 65 72 20 3d 20 76 38 4e 65 77 28 27 54 79 mber = v8New('Ty
4960: 70 65 44 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 peDescription',
4970: 27 d0 a7 d0 b8 d1 81 d0 bb d0 be 27 2c 20 76 38 '..........', v8
4980: 4e 65 77 28 27 4e 75 6d 62 65 72 51 75 61 6c 69 New('NumberQuali
4990: 66 69 65 72 73 27 2c 20 31 30 2c 20 30 29 29 3b fiers', 10, 0));
49a0: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 76 38 .. var v8
49b0: 54 79 70 65 5f 42 6f 6f 6c 65 61 6e 20 3d 20 76 Type_Boolean = v
49c0: 38 4e 65 77 28 27 54 79 70 65 44 65 73 63 72 69 8New('TypeDescri
49d0: 70 74 69 6f 6e 27 2c 20 27 d0 91 d1 83 d0 bb d0 ption', '.......
49e0: b5 d0 b2 d0 be 27 29 3b 0d 0a 20 20 20 20 0d 0a .....');.. ..
49f0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 5f 76 74 this._vt
4a00: 41 6c 6c 4d 65 74 68 6f 64 73 20 3d 20 76 38 4e AllMethods = v8N
4a10: 65 77 28 27 56 61 6c 75 65 54 61 62 6c 65 27 29 ew('ValueTable')
4a20: 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 ;.. var c
4a30: 6f 6c 73 20 3d 20 74 68 69 73 2e 5f 76 74 41 6c ols = this._vtAl
4a40: 6c 4d 65 74 68 6f 64 73 2e 43 6f 6c 75 6d 6e 73 lMethods.Columns
4a50: 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0 94 ;.. // ..
4a60: d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc ................
4a70: 20 d0 ba d0 be d0 bb d0 be d0 bd d0 ba d0 b8 2e ...............
4a80: 0d 0a 20 20 20 20 20 20 20 20 63 6f 6c 73 2e 41 .. cols.A
4a90: 64 64 28 27 4e 61 6d 65 27 2c 20 76 38 54 79 70 dd('Name', v8Typ
4aa0: 65 5f 53 74 72 69 6e 67 2c 20 27 d0 98 d0 bc d1 e_String, '.....
4ab0: 8f 20 d0 bf d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 . ..............
4ac0: d1 80 d1 8b 2f d1 84 d1 83 d0 bd d0 ba d1 86 d0 ..../...........
4ad0: b8 d0 b8 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 ...');..
4ae0: 63 6f 6c 73 2e 41 64 64 28 27 49 73 50 72 6f 63 cols.Add('IsProc
4af0: 27 2c 20 76 38 54 79 70 65 5f 42 6f 6f 6c 65 61 ', v8Type_Boolea
4b00: 6e 2c 20 27 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 n, '............
4b10: d1 83 d1 80 d0 b0 27 29 3b 0d 0a 20 20 20 20 20 ......');..
4b20: 20 20 20 63 6f 6c 73 2e 41 64 64 28 27 53 74 61 cols.Add('Sta
4b30: 72 74 4c 69 6e 65 27 2c 20 76 38 54 79 70 65 5f rtLine', v8Type_
4b40: 4e 75 6d 62 65 72 2c 20 27 4e 20 d0 bf d0 b5 d1 Number, 'N .....
4b50: 80 d0 b2 d0 be d0 b9 20 d1 81 d1 82 d1 80 d0 be ....... ........
4b60: d0 ba d0 b8 27 29 3b 0d 0a 20 20 20 20 20 20 20 ....');..
4b70: 20 63 6f 6c 73 2e 41 64 64 28 27 45 6e 64 4c 69 cols.Add('EndLi
4b80: 6e 65 27 2c 20 76 38 54 79 70 65 5f 4e 75 6d 62 ne', v8Type_Numb
4b90: 65 72 2c 20 27 4e 20 d0 bf d0 be d1 81 d0 bb d0 er, 'N .........
4ba0: b5 d0 b4 d0 bd d0 b5 d0 b9 20 d1 81 d1 82 d1 80 ......... ......
4bb0: d0 be d0 ba d0 b8 27 29 3b 0d 0a 20 20 20 20 20 ......');..
4bc0: 20 20 20 63 6f 6c 73 2e 41 64 64 28 27 43 6f 6e cols.Add('Con
4bd0: 74 65 78 74 27 2c 20 76 38 54 79 70 65 5f 53 74 text', v8Type_St
4be0: 72 69 6e 67 2c 20 27 d0 9a d0 be d0 bd d1 82 d0 ring, '.........
4bf0: b5 d0 ba d1 81 d1 82 20 d0 ba d0 be d0 bc d0 bf ....... ........
4c00: d0 b8 d0 bb d1 8f d1 86 d0 b8 d0 b8 20 d0 bc d0 ............ ...
4c10: be d0 b4 d1 83 d0 bb d1 8f 27 29 3b 0d 0a 20 20 .........');..
4c20: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 ..
4c30: 63 6f 6c 73 2e 41 64 64 28 27 5f 6d 65 74 68 6f cols.Add('_metho
4c40: 64 27 29 3b 20 2f 2f 20 5f 31 43 4d 65 74 68 6f d'); // _1CMetho
4c50: 64 44 65 73 63 72 69 70 74 69 6f 6e 0d 0a 20 20 dDescription..
4c60: 20 20 7d 0d 0a 7d 0d 0a 0d 0a 5f 31 43 4d 6f 64 }..}...._1CMod
4c70: 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 63 72 69 uleContextDescri
4c80: 70 74 69 6f 6e 2e 70 72 6f 74 6f 74 79 70 65 2e ption.prototype.
4c90: 61 64 64 4d 65 74 68 6f 64 20 3d 20 66 75 6e 63 addMethod = func
4ca0: 74 69 6f 6e 20 28 6d 65 74 68 6f 64 29 20 7b 0d tion (method) {.
4cb0: 0a 0d 0a 20 20 20 20 69 66 20 28 74 68 69 73 2e ... if (this.
4cc0: 5f 6d 65 74 68 6f 64 73 42 79 4e 61 6d 65 5b 6d _methodsByName[m
4cd0: 65 74 68 6f 64 2e 6e 61 6d 65 5d 29 0d 0a 20 20 ethod.name])..
4ce0: 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 27 d0 Message('.
4cf0: 9c d0 b5 d1 82 d0 be d0 b4 20 27 20 2b 20 6d 65 ......... ' + me
4d00: 74 68 6f 64 2e 6e 61 6d 65 20 2b 20 27 d1 83 d0 thod.name + '...
4d10: b6 d0 b5 20 d0 b1 d1 8b d0 bb 20 d0 be d0 b1 d1 ... ...... .....
4d20: 8a d1 8f d0 b2 d0 bb d0 b5 d0 bd 20 d1 80 d0 b0 ........... ....
4d30: d0 bd d0 b5 d0 b5 20 d0 b2 20 d1 8d d1 82 d0 be ...... .. ......
4d40: d0 bc 20 d0 bc d0 be d0 b4 d1 83 d0 bb d0 b5 21 .. ............!
4d50: 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 ');.. ..
4d60: 20 20 20 74 68 69 73 2e 4d 65 74 68 6f 64 73 2e this.Methods.
4d70: 70 75 73 68 28 6d 65 74 68 6f 64 29 3b 0d 0a 20 push(method);..
4d80: 20 20 20 74 68 69 73 2e 5f 6d 65 74 68 6f 64 73 this._methods
4d90: 42 79 4e 61 6d 65 5b 6d 65 74 68 6f 64 2e 4e 61 ByName[method.Na
4da0: 6d 65 5d 20 3d 20 6d 65 74 68 6f 64 3b 0d 0a 20 me] = method;..
4db0: 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 94 d0 be .. // ....
4dc0: d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc 20 d0 .............. .
4dd0: bc d0 b5 d1 82 d0 be d0 b4 20 d0 b2 20 d1 82 d0 ......... .. ...
4de0: b0 d0 b1 d0 bb d0 b8 d1 86 d1 83 20 d0 b7 d0 bd ........... ....
4df0: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b9 2e 0d 0a 20 ...............
4e00: 20 20 20 69 66 20 28 74 68 69 73 2e 5f 76 74 41 if (this._vtA
4e10: 6c 6c 4d 65 74 68 6f 64 73 29 20 0d 0a 20 20 20 llMethods) ..
4e20: 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 {.. var
4e30: 6d 65 74 68 52 6f 77 20 3d 20 74 68 69 73 2e 5f methRow = this._
4e40: 76 74 41 6c 6c 4d 65 74 68 6f 64 73 2e 41 64 64 vtAllMethods.Add
4e50: 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 6d 65 74 ();.. met
4e60: 68 52 6f 77 2e 4e 61 6d 65 20 3d 20 6d 65 74 68 hRow.Name = meth
4e70: 6f 64 2e 4e 61 6d 65 3b 0d 0a 20 20 20 20 20 20 od.Name;..
4e80: 20 20 6d 65 74 68 52 6f 77 2e 49 73 50 72 6f 63 methRow.IsProc
4e90: 20 3d 20 6d 65 74 68 6f 64 2e 49 73 50 72 6f 63 = method.IsProc
4ea0: 3b 0d 0a 20 20 20 20 20 20 20 20 6d 65 74 68 52 ;.. methR
4eb0: 6f 77 2e 53 74 61 72 74 4c 69 6e 65 20 3d 20 6d ow.StartLine = m
4ec0: 65 74 68 6f 64 2e 53 74 61 72 74 4c 69 6e 65 3b ethod.StartLine;
4ed0: 0d 0a 20 20 20 20 20 20 20 20 6d 65 74 68 52 6f .. methRo
4ee0: 77 2e 45 6e 64 4c 69 6e 65 20 3d 20 6d 65 74 68 w.EndLine = meth
4ef0: 6f 64 2e 45 6e 64 4c 69 6e 65 3b 0d 0a 20 20 20 od.EndLine;..
4f00: 20 20 20 20 20 6d 65 74 68 52 6f 77 2e 43 6f 6e methRow.Con
4f10: 74 65 78 74 20 3d 20 6d 65 74 68 6f 64 2e 43 6f text = method.Co
4f20: 6e 74 65 78 74 3b 0d 0a 20 20 20 20 20 20 20 20 ntext;..
4f30: 6d 65 74 68 52 6f 77 2e 5f 6d 65 74 68 6f 64 20 methRow._method
4f40: 3d 20 6d 65 74 68 6f 64 3b 0d 0a 20 20 20 20 7d = method;.. }
4f50: 0d 0a 7d 0d 0a 0d 0a 5f 31 43 4d 6f 64 75 6c 65 ..}...._1CModule
4f60: 43 6f 6e 74 65 78 74 44 65 73 63 72 69 70 74 69 ContextDescripti
4f70: 6f 6e 2e 70 72 6f 74 6f 74 79 70 65 2e 67 65 74 on.prototype.get
4f80: 4d 65 74 68 6f 64 42 79 4e 61 6d 65 20 3d 20 66 MethodByName = f
4f90: 75 6e 63 74 69 6f 6e 20 28 6e 61 6d 65 29 20 7b unction (name) {
4fa0: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 .. return thi
4fb0: 73 2e 5f 6d 65 74 68 6f 64 73 42 79 4e 61 6d 65 s._methodsByName
4fc0: 5b 6e 61 6d 65 5d 3b 0d 0a 7d 0d 0a 0d 0a 5f 31 [name];..}...._1
4fd0: 43 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 65 CModuleContextDe
4fe0: 73 63 72 69 70 74 69 6f 6e 2e 70 72 6f 74 6f 74 scription.protot
4ff0: 79 70 65 2e 61 64 64 56 61 72 20 3d 20 66 75 6e ype.addVar = fun
5000: 63 74 69 6f 6e 20 28 6e 61 6d 65 2c 20 74 79 70 ction (name, typ
5010: 65 2c 20 61 75 74 6f 29 20 7b 0d 0a 20 20 20 20 e, auto) {..
5020: 69 66 20 28 74 68 69 73 2e 5f 6d 6f 64 75 6c 65 if (this._module
5030: 56 61 72 73 54 79 70 65 73 5b 6e 61 6d 65 5d 20 VarsTypes[name]
5040: 3d 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 0d 0a === undefined)..
5050: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 74 {.. t
5060: 68 69 73 2e 5f 6d 6f 64 75 6c 65 56 61 72 73 54 his._moduleVarsT
5070: 79 70 65 73 5b 6e 61 6d 65 5d 20 3d 20 28 74 79 ypes[name] = (ty
5080: 70 65 20 3d 3d 3d 20 75 6e 64 65 66 69 6e 65 64 pe === undefined
5090: 29 20 3f 20 6e 75 6c 6c 20 3a 20 74 79 70 65 3b ) ? null : type;
50a0: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 4d .. this.M
50b0: 6f 64 75 6c 65 56 61 72 73 2e 70 75 73 68 28 6e oduleVars.push(n
50c0: 61 6d 65 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d ame);.. }..}.
50d0: 0a 0d 0a 5f 31 43 4d 6f 64 75 6c 65 43 6f 6e 74 ..._1CModuleCont
50e0: 65 78 74 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 extDescription.p
50f0: 72 6f 74 6f 74 79 70 65 2e 67 65 74 56 61 72 54 rototype.getVarT
5100: 79 70 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 ype = function (
5110: 6e 61 6d 65 29 20 7b 0d 0a 20 20 20 20 72 65 74 name) {.. ret
5120: 75 72 6e 20 74 68 69 73 2e 5f 6d 6f 64 75 6c 65 urn this._module
5130: 56 61 72 73 54 79 70 65 73 5b 6e 61 6d 65 5d 3b VarsTypes[name];
5140: 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 5f 31 43 ..}....////} _1C
5150: 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 ModuleContextDes
5160: 63 72 69 70 74 69 6f 6e 0d 0a 0d 0a 2f 2f 2f 2f cription....////
5170: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5180: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5190: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
51a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
51b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
51c0: 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b 20 5f 31 43 4d ////..////{ _1CM
51d0: 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e ethodDescription
51e0: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 5f 31 43 ....function _1C
51f0: 4d 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f MethodDescriptio
5200: 6e 28 70 61 72 65 6e 74 4d 6f 64 75 6c 65 29 20 n(parentModule)
5210: 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 {.. ..
5220: 20 2f 2f 20 d0 98 d0 b4 d0 b5 d0 bd d1 82 d0 b8 // ............
5230: d1 84 d0 b8 d0 ba d0 b0 d1 82 d0 be d1 80 20 28 .............. (
5240: d0 b8 d0 bc d1 8f 29 20 d0 bc d0 b5 d1 82 d0 be ......) ........
5250: d0 b4 d0 b0 2e 0d 0a 20 20 20 20 74 68 69 73 2e ....... this.
5260: 4e 61 6d 65 20 3d 20 22 22 3b 0d 0a 20 20 20 20 Name = "";..
5270: 0d 0a 20 20 20 20 2f 2f 20 d0 a2 d0 b8 d0 bf 20 .. // ......
5280: d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 20 d0 95 ............. ..
5290: d1 81 d0 bb d0 b8 20 d0 b8 d1 81 d1 82 d0 b8 d0 ...... .........
52a0: bd d0 b0 20 2d 20 d1 82 d0 be 20 d1 8d d1 82 d0 ... - .... .....
52b0: be 20 d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 . ..............
52c0: d1 80 d0 b0 2c 20 d0 b8 d0 bd d0 b0 d1 87 d0 b5 ...., ..........
52d0: 20 2d 20 d1 8d d1 82 d0 be 20 d1 84 d1 83 d0 bd - ...... ......
52e0: d0 ba d1 86 d0 b8 d1 8f 2e 0d 0a 20 20 20 20 74 ........... t
52f0: 68 69 73 2e 49 73 50 72 6f 63 20 3d 20 66 61 6c his.IsProc = fal
5300: 73 65 3b 0d 0a 0d 0a 20 20 20 20 2f 2f 20 d0 9c se;.... // ..
5310: d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 bf d0 b0 d1 .......... .....
5320: 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 be d0 b2 20 ...............
5330: d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 0d 0a 20 ...............
5340: 20 20 20 74 68 69 73 2e 50 61 72 61 6d 73 20 3d this.Params =
5350: 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0d 0a 20 new Array();..
5360: 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 9c d0 b0 .. // ....
5370: d1 81 d1 81 d0 b8 d0 b2 20 d1 8f d0 b2 d0 bd d1 ........ .......
5380: 8b d0 bc 20 d0 be d0 b1 d1 80 d0 b0 d0 b7 d0 be ... ............
5390: d0 bc 20 d0 be d0 b1 d1 8a d1 8f d0 b2 d0 bb d0 .. .............
53a0: b5 d0 bd d0 bd d1 8b d1 85 20 d0 bf d0 b5 d1 80 ......... ......
53b0: d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 85 2e 0d ................
53c0: 0a 20 20 20 20 74 68 69 73 2e 44 65 63 6c 61 72 . this.Declar
53d0: 65 64 56 61 72 73 20 3d 20 6e 65 77 20 41 72 72 edVars = new Arr
53e0: 61 79 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 ay();.. ..
53f0: 20 2f 2f 20 d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 // ............
5400: 20 d0 b0 d0 b2 d1 82 d0 be d0 bc d0 b0 d1 82 d0 ...............
5410: b8 d1 87 d0 b5 d1 81 d0 ba d0 b8 d1 85 20 d0 bb ............. ..
5420: d0 be d0 ba d0 b0 d0 bb d1 8c d0 bd d1 8b d1 85 ................
5430: 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 ...............
5440: bd d1 8b d1 85 20 28 d0 bd d0 b5 20 d0 be d0 b1 ..... (.... ....
5450: d1 8a d1 8f d0 b2 d0 bb d0 b5 d0 bd d0 bd d1 8b ................
5460: d1 85 20 d1 8f d0 b2 d0 bd d1 8b d0 bc 20 d0 be .. .......... ..
5470: d0 b1 d1 80 d0 b0 d0 b7 d0 be d0 bc 29 2e 0d 0a ............)...
5480: 20 20 20 20 74 68 69 73 2e 41 75 74 6f 6d 61 74 this.Automat
5490: 69 63 56 61 72 73 20 3d 20 6e 65 77 20 41 72 72 icVars = new Arr
54a0: 61 79 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 ay();.. ..
54b0: 20 2f 2f 20 d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba // ............
54c0: 20 d0 b2 d1 8b d0 b7 d0 be d0 b2 d0 be d0 b2 3a ..............:
54d0: 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 bc ............ ..
54e0: d0 b5 d1 82 d0 be d0 b4 d0 be d0 b2 2c 20 d0 b2 ............, ..
54f0: d1 8b d0 b7 d1 8b d0 b2 d0 b0 d0 b5 d0 bc d1 8b ................
5500: d1 85 20 d0 b8 d0 b7 20 d0 b4 d0 b0 d0 bd d0 bd .. .... ........
5510: d0 be d0 b3 d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 ...... .........
5520: b4 d0 b0 2e 0d 0a 20 20 20 20 74 68 69 73 2e 43 ...... this.C
5530: 61 6c 6c 73 20 3d 20 6e 65 77 20 41 72 72 61 79 alls = new Array
5540: 28 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f ();.. .. /
5550: 2f 20 d0 9d d0 be d0 bc d0 b5 d1 80 20 d1 81 d1 / .......... ...
5560: 82 d1 80 d0 be d0 ba d0 b8 20 d0 be d0 b1 d1 8a ......... ......
5570: d1 8f d0 b2 d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d0 .............. .
5580: bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 0d 0a 20 20 ..............
5590: 20 20 74 68 69 73 2e 53 74 61 72 74 4c 69 6e 65 this.StartLine
55a0: 20 3d 20 30 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 = 0;.. ..
55b0: 20 2f 2f 20 d0 9d d0 be d0 bc d0 b5 d1 80 20 d1 // .......... .
55c0: 81 d1 82 d1 80 d0 be d0 ba d0 b8 20 d0 b7 d0 b0 ........... ....
55d0: d0 b2 d0 b5 d1 80 d1 88 d0 b5 d0 bd d0 b8 d1 8f ................
55e0: 20 d0 be d0 b1 d1 8a d1 8f d0 b2 d0 bb d0 b5 d0 ...............
55f0: bd d0 b8 d1 8f 20 d0 bc d0 b5 d1 82 d0 be d0 b4 ..... ..........
5600: d0 b0 2e 0d 0a 20 20 20 20 74 68 69 73 2e 45 6e ..... this.En
5610: 64 4c 69 6e 65 20 3d 20 30 3b 0d 0a 20 20 20 20 dLine = 0;..
5620: 0d 0a 20 20 20 20 2f 2f 20 d0 90 d1 81 d1 81 d0 .. // .......
5630: be d1 86 d0 b8 d0 b0 d1 82 d0 b8 d0 b2 d0 bd d1 ................
5640: 8b d0 b9 20 d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 ... ............
5650: 20 d0 98 d0 bc d1 8f 20 d0 bf d0 b5 d1 80 d0 b5 ...... ........
5660: d0 bc d0 b5 d0 bd d0 bd d0 be d0 b9 20 2d 3e 20 ............ ->
5670: d0 a2 d0 b8 d0 bf 20 d0 bf d0 b5 d1 80 d0 b5 d0 ...... .........
5680: bc d0 b5 d0 bd d0 bd d0 be d0 b9 20 28 d0 bf d0 ........... (...
5690: be d0 ba d0 b0 20 d1 82 d0 b8 d0 bf 20 d0 b2 d1 ..... ...... ...
56a0: 81 d0 b5 d0 b3 d0 b4 d0 b0 20 6e 75 6c 6c 29 2e ......... null).
56b0: 0d 0a 20 20 20 20 74 68 69 73 2e 5f 76 61 72 73 .. this._vars
56c0: 54 79 70 65 73 20 3d 20 7b 7d 3b 0d 0a 20 20 20 Types = {};..
56d0: 20 0d 0a 20 20 20 20 2f 2f 20 d0 9a d0 be d0 bd .. // ......
56e0: d1 82 d0 b5 d0 ba d1 81 d1 82 20 d0 bc d0 be d0 .......... .....
56f0: b4 d1 83 d0 bb d1 8f 2c 20 d0 b2 20 d0 ba d0 be ......., .. ....
5700: d1 82 d0 be d1 80 d0 be d0 bc 20 d0 be d0 b1 d1 .......... .....
5710: 8a d1 8f d0 b2 d0 bb d0 b5 d0 bd 20 d0 b4 d0 b0 ........... ....
5720: d0 bd d0 bd d1 8b d0 b9 20 d0 bc d0 b5 d1 82 d0 ........ .......
5730: be d0 b4 20 28 5f 31 43 4d 6f 64 75 6c 65 43 6f ... (_1CModuleCo
5740: 6e 74 65 78 74 44 65 73 63 72 69 70 74 69 6f 6e ntextDescription
5750: 29 2e 0d 0a 20 20 20 20 74 68 69 73 2e 70 61 72 )... this.par
5760: 65 6e 74 4d 6f 64 75 6c 65 20 3d 20 70 61 72 65 entModule = pare
5770: 6e 74 4d 6f 64 75 6c 65 3b 0d 0a 7d 0d 0a 0d 0a ntModule;..}....
5780: 5f 31 43 4d 65 74 68 6f 64 44 65 73 63 72 69 70 _1CMethodDescrip
5790: 74 69 6f 6e 2e 70 72 6f 74 6f 74 79 70 65 2e 61 tion.prototype.a
57a0: 64 64 56 61 72 20 3d 20 66 75 6e 63 74 69 6f 6e ddVar = function
57b0: 20 28 6e 61 6d 65 2c 20 74 79 70 65 2c 20 61 75 (name, type, au
57c0: 74 6f 29 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d to) {.. .
57d0: 0a 20 20 20 20 69 66 20 28 74 68 69 73 2e 5f 76 . if (this._v
57e0: 61 72 73 54 79 70 65 73 5b 6e 61 6d 65 5d 20 3d arsTypes[name] =
57f0: 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 0d 0a 20 == undefined)..
5800: 20 20 20 7b 20 20 20 20 0d 0a 20 20 20 20 20 20 { ..
5810: 20 20 69 66 20 28 74 68 69 73 2e 50 61 72 61 6d if (this.Param
5820: 73 2e 69 6e 64 65 78 4f 66 28 6e 61 6d 65 29 20 s.indexOf(name)
5830: 3e 3d 20 30 29 20 0d 0a 20 20 20 20 20 20 20 20 >= 0) ..
5840: 20 20 20 20 72 65 74 75 72 6e 3b 0d 0a 20 20 20 return;..
5850: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 ..
5860: 20 20 20 69 66 20 28 74 68 69 73 2e 70 61 72 65 if (this.pare
5870: 6e 74 4d 6f 64 75 6c 65 20 26 26 20 74 68 69 73 ntModule && this
5880: 2e 70 61 72 65 6e 74 4d 6f 64 75 6c 65 2e 67 65 .parentModule.ge
5890: 74 56 61 72 54 79 70 65 28 6e 61 6d 65 29 20 21 tVarType(name) !
58a0: 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 0d 0a == undefined) ..
58b0: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 retu
58c0: 72 6e 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 20 rn;.. ..
58d0: 20 20 20 74 68 69 73 2e 5f 76 61 72 73 54 79 70 this._varsTyp
58e0: 65 73 5b 6e 61 6d 65 5d 20 3d 20 28 74 79 70 65 es[name] = (type
58f0: 20 3d 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 === undefined)
5900: 3f 20 6e 75 6c 6c 20 3a 20 74 79 70 65 3b 0d 0a ? null : type;..
5910: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 ..
5920: 20 20 69 66 20 28 61 75 74 6f 29 0d 0a 20 20 20 if (auto)..
5930: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 41 75 this.Au
5940: 74 6f 6d 61 74 69 63 56 61 72 73 2e 70 75 73 68 tomaticVars.push
5950: 28 6e 61 6d 65 29 3b 0d 0a 20 20 20 20 20 20 20 (name);..
5960: 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 else..
5970: 20 20 20 74 68 69 73 2e 44 65 63 6c 61 72 65 64 this.Declared
5980: 56 61 72 73 2e 70 75 73 68 28 6e 61 6d 65 29 3b Vars.push(name);
5990: 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 5f 31 .. }..}...._1
59a0: 43 4d 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 CMethodDescripti
59b0: 6f 6e 2e 70 72 6f 74 6f 74 79 70 65 2e 67 65 74 on.prototype.get
59c0: 56 61 72 54 79 70 65 20 3d 20 66 75 6e 63 74 69 VarType = functi
59d0: 6f 6e 20 28 6e 61 6d 65 29 20 7b 0d 0a 20 20 20 on (name) {..
59e0: 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 76 61 return this._va
59f0: 72 73 54 79 70 65 73 5b 6e 61 6d 65 5d 3b 0d 0a rsTypes[name];..
5a00: 7d 0d 0a 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 5f 31 43 }......////} _1C
5a10: 4d 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f MethodDescriptio
5a20: 6e 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f n....///////////
5a30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5a40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5a50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5a60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5a70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f /////////////../
5a80: 2f 2f 2f 7b 20 d0 92 d1 81 d0 bf d0 be d0 bc d0 ///{ ...........
5a90: be d0 b3 d0 b0 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 ................
5aa0: 8b d0 b5 20 d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 ... ............
5ab0: d0 b8 20 d0 be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 .. .............
5ac0: b0 20 41 72 72 61 79 0d 0a 69 66 28 21 41 72 72 . Array..if(!Arr
5ad0: 61 79 2e 70 72 6f 74 6f 74 79 70 65 2e 69 6e 64 ay.prototype.ind
5ae0: 65 78 4f 66 29 20 7b 0d 0a 20 20 20 20 41 72 72 exOf) {.. Arr
5af0: 61 79 2e 70 72 6f 74 6f 74 79 70 65 2e 69 6e 64 ay.prototype.ind
5b00: 65 78 4f 66 20 3d 20 66 75 6e 63 74 69 6f 6e 28 exOf = function(
5b10: 73 65 61 72 63 68 45 6c 65 6d 65 6e 74 2c 20 66 searchElement, f
5b20: 72 6f 6d 49 6e 64 65 78 29 20 7b 0d 0a 20 20 20 romIndex) {..
5b30: 20 20 20 20 20 66 6f 72 28 76 61 72 20 69 20 3d for(var i =
5b40: 20 66 72 6f 6d 49 6e 64 65 78 7c 7c 30 2c 20 6c fromIndex||0, l
5b50: 65 6e 67 74 68 20 3d 20 74 68 69 73 2e 6c 65 6e ength = this.len
5b60: 67 74 68 3b 20 69 3c 6c 65 6e 67 74 68 3b 20 69 gth; i<length; i
5b70: 2b 2b 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ++)..
5b80: 20 69 66 28 74 68 69 73 5b 69 5d 20 3d 3d 3d 20 if(this[i] ===
5b90: 73 65 61 72 63 68 45 6c 65 6d 65 6e 74 29 20 72 searchElement) r
5ba0: 65 74 75 72 6e 20 69 3b 0d 0a 20 20 20 20 20 20 eturn i;..
5bb0: 20 20 72 65 74 75 72 6e 20 2d 31 0d 0a 20 20 20 return -1..
5bc0: 20 7d 3b 0d 0a 7d 3b 0d 0a 2f 2f 2f 2f 7d 20 d0 };..};..////} .
5bd0: 92 d1 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 ................
5be0: 82 d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d1 84 ............. ..
5bf0: d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 20 d0 be d0 ............ ...
5c00: b1 d1 8a d0 b5 d0 ba d1 82 d0 b0 20 41 72 72 61 ........... Arra
5c10: 79 y