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 29 20 7b 0d 0a 20 20 20 20 0d 0a 20 able) {.. ..
1b20: 20 20 20 76 61 72 20 4d 65 74 68 3b 0d 0a 20 20 var Meth;..
1b30: 20 20 76 61 72 20 73 74 53 74 61 72 74 20 3d 20 var stStart =
1b40: 30 2c 20 73 74 49 6e 50 72 6f 63 20 3d 20 31 2c 0, stInProc = 1,
1b50: 20 73 74 49 6e 4d 6f 64 75 6c 65 20 3d 20 32 2c stInModule = 2,
1b60: 20 73 74 49 6e 56 61 72 73 44 65 66 3b 0d 0a 20 stInVarsDef;..
1b70: 20 20 20 76 61 72 20 73 74 61 74 65 20 3d 20 73 var state = s
1b80: 74 53 74 61 72 74 2c 20 50 72 65 76 53 74 61 74 tStart, PrevStat
1b90: 65 3b 0d 0a 20 20 20 20 76 61 72 20 4d 61 74 63 e;.. var Matc
1ba0: 68 3b 0d 0a 20 20 20 20 76 61 72 20 43 6f 6e 74 h;.. var Cont
1bb0: 65 78 74 20 3d 20 22 22 3b 0d 0a 20 20 20 20 0d ext = "";.. .
1bc0: 0a 20 20 20 20 76 61 72 20 6d 6f 64 75 6c 65 43 . var moduleC
1bd0: 6f 6e 74 65 78 74 20 3d 20 53 79 6e 74 61 78 41 ontext = SyntaxA
1be0: 6e 61 6c 79 73 69 73 2e 43 72 65 61 74 65 31 43 nalysis.Create1C
1bf0: 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 ModuleContextDes
1c00: 63 72 69 70 74 69 6f 6e 28 69 6e 69 74 56 61 6c cription(initVal
1c10: 75 65 54 61 62 6c 65 29 3b 0d 0a 20 20 20 20 20 ueTable);..
1c20: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 70 72 6f .. var pro
1c30: 63 5f 63 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 c_count = 0;..
1c40: 20 20 76 61 72 20 4c 69 6e 65 73 20 3d 20 73 6f var Lines = so
1c50: 75 72 63 65 43 6f 64 65 2e 73 70 6c 69 74 28 22 urceCode.split("
1c60: 5c 6e 22 29 3b 0d 0a 20 20 20 20 76 61 72 20 6e \n");.. var n
1c70: 20 3d 20 4c 69 6e 65 73 2e 6c 65 6e 67 74 68 3b = Lines.length;
1c80: 0d 0a 20 20 20 20 76 61 72 20 69 20 3d 20 30 3b .. var i = 0;
1c90: 20 0d 0a 20 20 20 20 76 61 72 20 6e 65 78 74 50 .. var nextP
1ca0: 61 72 74 20 3d 20 27 27 3b 0d 0a 20 20 20 20 77 art = '';.. w
1cb0: 68 69 6c 65 20 28 69 20 3c 20 6e 29 0d 0a 20 20 hile (i < n)..
1cc0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 {.. var
1cd0: 20 73 74 72 20 3d 20 27 27 3b 0d 0a 20 20 20 20 str = '';..
1ce0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 .. if
1cf0: 20 28 6e 65 78 74 50 61 72 74 29 20 0d 0a 20 20 (nextPart) ..
1d00: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
1d10: 20 20 20 20 20 73 74 72 20 3d 20 6e 65 78 74 50 str = nextP
1d20: 61 72 74 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d art;.. }.
1d30: 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 . else..
1d40: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
1d50: 20 20 20 20 20 20 73 74 72 20 3d 20 74 68 69 73 str = this
1d60: 2e 41 6e 61 6c 79 73 65 43 6f 6d 6d 65 6e 74 73 .AnalyseComments
1d70: 28 4c 69 6e 65 73 5b 69 5d 29 3b 0d 0a 20 20 20 (Lines[i]);..
1d80: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
1d90: 0d 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 .. switch
1da0: 28 20 73 74 61 74 65 20 29 0d 0a 20 20 20 20 20 ( state )..
1db0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 63 61 {.. ca
1dc0: 73 65 20 73 74 53 74 61 72 74 3a 20 20 20 20 20 se stStart:
1dd0: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 63 61 73 .. cas
1de0: 65 20 73 74 49 6e 4d 6f 64 75 6c 65 3a 0d 0a 20 e stInModule:..
1df0: 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 4d var M
1e00: 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 atches = SyntaxA
1e10: 6e 61 6c 79 73 69 73 2e 52 45 5f 43 4f 4e 54 45 nalysis.RE_CONTE
1e20: 58 54 2e 65 78 65 63 28 73 74 72 29 3b 0d 0a 20 XT.exec(str);..
1e30: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 4d if (M
1e40: 61 74 63 68 65 73 21 3d 6e 75 6c 6c 29 20 7b 0d atches!=null) {.
1e50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1e60: 20 43 6f 6e 74 65 78 74 20 3d 20 53 79 6e 74 61 Context = Synta
1e70: 78 41 6e 61 6c 79 73 69 73 2e 43 4f 4e 54 45 58 xAnalysis.CONTEX
1e80: 54 5b 28 22 22 2b 4d 61 74 63 68 65 73 5b 31 5d T[(""+Matches[1]
1e90: 29 2e 74 6f 4c 6f 77 65 72 43 61 73 65 28 29 5d ).toLowerCase()]
1ea0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ;.. }
1eb0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 .. Ma
1ec0: 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e tches = SyntaxAn
1ed0: 61 6c 79 73 69 73 2e 52 45 5f 50 52 4f 43 2e 65 alysis.RE_PROC.e
1ee0: 78 65 63 28 73 74 72 29 3b 0d 0a 20 20 20 20 20 xec(str);..
1ef0: 20 20 20 20 20 20 20 69 66 28 20 4d 61 74 63 68 if( Match
1f00: 65 73 20 21 3d 20 6e 75 6c 6c 20 29 0d 0a 20 20 es != null )..
1f10: 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 {..
1f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1f30: 20 4d 65 74 68 20 3d 20 53 79 6e 74 61 78 41 6e Meth = SyntaxAn
1f40: 61 6c 79 73 69 73 2e 43 72 65 61 74 65 31 43 4d alysis.Create1CM
1f50: 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e ethodDescription
1f60: 28 6d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 29 3b (moduleContext);
1f70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
1f80: 20 20 20 20 20 20 4d 65 74 68 2e 4e 61 6d 65 20 Meth.Name
1f90: 3d 20 4d 61 74 63 68 65 73 5b 32 5d 3b 0d 0a 20 = Matches[2];..
1fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1fb0: 20 20 20 4d 65 74 68 2e 53 74 61 72 74 4c 69 6e Meth.StartLin
1fc0: 65 20 3d 20 69 3b 20 20 20 20 20 20 20 20 20 20 e = i;
1fd0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
1fe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1ff0: 4d 65 74 68 2e 49 73 50 72 6f 63 20 3d 20 28 4d Meth.IsProc = (M
2000: 61 74 63 68 65 73 5b 31 5d 2e 74 6f 4c 6f 77 65 atches[1].toLowe
2010: 72 43 61 73 65 28 29 20 3d 3d 20 27 d0 bf d1 80 rCase() == '....
2020: d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 27 20 ..............'
2030: 7c 7c 20 4d 61 74 63 68 65 73 5b 31 5d 2e 74 6f || Matches[1].to
2040: 4c 6f 77 65 72 43 61 73 65 28 29 20 3d 3d 20 27 LowerCase() == '
2050: 70 72 6f 63 65 64 75 72 65 27 29 3b 0d 0a 20 20 procedure');..
2060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2070: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..
2080: 20 20 20 20 20 20 20 20 4d 65 74 68 2e 43 6f 6e Meth.Con
2090: 74 65 78 74 20 3d 20 28 43 6f 6e 74 65 78 74 2e text = (Context.
20a0: 6c 65 6e 67 74 68 3e 30 29 3f 43 6f 6e 74 65 78 length>0)?Contex
20b0: 74 3a 22 d0 9d d0 b0 d0 a1 d0 b5 d1 80 d0 b2 d0 t:".............
20c0: b5 d1 80 d0 b5 22 3b 20 2f 2f d0 9f d0 be d0 ba ....."; //......
20d0: d0 b0 20 d1 82 d0 be d0 bb d1 8c d0 ba d0 be 20 .. ............
20e0: d0 b4 d0 bb d1 8f 20 d1 82 d0 be d0 bd d0 ba d0 ...... .........
20f0: be d0 b3 d0 be 20 d0 ba d0 bb d0 b8 d0 b5 d0 bd ..... ..........
2100: d1 82 d0 b0 2e 20 0d 0a 20 20 20 20 20 20 20 20 ..... ..
2110: 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 20 str
2120: 3d 20 73 74 72 2e 73 75 62 73 74 72 28 4d 61 74 = str.substr(Mat
2130: 63 68 65 73 2e 6c 61 73 74 49 6e 64 65 78 29 3b ches.lastIndex);
2140: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2150: 20 20 20 20 20 20 76 61 72 20 73 74 72 50 61 72 var strPar
2160: 61 6d 73 20 3d 20 27 27 3b 0d 0a 20 20 20 20 20 ams = '';..
2170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d M
2180: 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 atches = SyntaxA
2190: 6e 61 6c 79 73 69 73 2e 52 45 5f 50 41 52 41 4d nalysis.RE_PARAM
21a0: 5f 45 4e 44 2e 65 78 65 63 28 73 74 72 29 3b 0d _END.exec(str);.
21b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
21c0: 20 20 20 20 20 69 66 20 28 4d 61 74 63 68 65 73 if (Matches
21d0: 21 3d 6e 75 6c 6c 29 20 7b 0d 0a 20 20 20 20 20 !=null) {..
21e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
21f0: 20 20 20 73 74 72 50 61 72 61 6d 73 20 3d 20 4d strParams = M
2200: 61 74 63 68 65 73 5b 31 5d 0d 0a 20 20 20 20 20 atches[1]..
2210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d }
2220: 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 else {..
2230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2240: 20 73 74 72 50 61 72 61 6d 73 20 3d 20 27 27 2b strParams = ''+
2250: 73 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 str;..
2260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 2b i+
2270: 2b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 +;..
2280: 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c whil
2290: 65 20 28 69 3c 6e 29 20 7b 20 0d 0a 20 20 20 20 e (i<n) { ..
22a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
22b0: 20 20 20 20 20 20 20 20 73 74 72 20 3d 20 74 68 str = th
22c0: 69 73 2e 41 6e 61 6c 79 73 65 43 6f 6d 6d 65 6e is.AnalyseCommen
22d0: 74 73 28 4c 69 6e 65 73 5b 69 5d 29 3b 0d 0a 20 ts(Lines[i]);..
22e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
22f0: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 if ((
2300: 4d 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 Matches = Syntax
2310: 41 6e 61 6c 79 73 69 73 2e 52 45 5f 50 41 52 41 Analysis.RE_PARA
2320: 4d 5f 45 4e 44 2e 65 78 65 63 28 73 74 72 29 29 M_END.exec(str))
2330: 21 3d 6e 75 6c 6c 29 20 7b 0d 0a 20 20 20 20 20 !=null) {..
2340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2350: 20 20 20 20 20 20 20 20 20 20 20 73 74 72 50 61 strPa
2360: 72 61 6d 73 20 3d 20 73 74 72 50 61 72 61 6d 73 rams = strParams
2370: 2b 22 5c 6e 22 2b 4d 61 74 63 68 65 73 5b 31 5d +"\n"+Matches[1]
2380: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23a0: 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 break;..
23b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23c0: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a } else {..
23d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23f0: 73 74 72 50 61 72 61 6d 73 20 3d 20 73 74 72 50 strParams = strP
2400: 61 72 61 6d 73 2b 22 5c 6e 22 2b 73 74 72 3b 0d arams+"\n"+str;.
2410: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2420: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a }..
2430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2440: 20 20 20 20 20 20 20 20 20 20 20 20 69 2b 2b 3b i++;
2450: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2460: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 }..
2470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2480: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 }..
2490: 20 20 20 20 20 20 20 20 74 68 69 73 2e 41 6e 61 this.Ana
24a0: 6c 79 73 65 50 61 72 61 6d 73 28 73 74 72 50 61 lyseParams(strPa
24b0: 72 61 6d 73 2c 20 4d 65 74 68 29 3b 0d 0a 20 20 rams, Meth);..
24c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24d0: 20 20 76 61 72 20 65 6e 64 70 72 6f 63 20 3d 20 var endproc =
24e0: 4d 61 74 63 68 65 73 5b 32 5d 0d 0a 20 20 20 20 Matches[2]..
24f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2500: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2510: 20 20 20 20 20 20 6d 6f 64 75 6c 65 43 6f 6e 74 moduleCont
2520: 65 78 74 2e 61 64 64 4d 65 74 68 6f 64 28 4d 65 ext.addMethod(Me
2530: 74 68 29 3b 20 0d 0a 20 20 20 20 20 20 20 20 20 th); ..
2540: 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 5f proc_
2550: 63 6f 75 6e 74 2b 2b 3b 0d 0a 20 20 20 20 20 20 count++;..
2560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 st
2570: 61 74 65 20 3d 20 73 74 49 6e 50 72 6f 63 3b 0d ate = stInProc;.
2580: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2590: 20 20 20 20 20 69 66 28 20 28 4d 61 74 63 68 20 if( (Match
25a0: 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 = SyntaxAnalysis
25b0: 2e 52 45 5f 50 52 4f 43 5f 45 4e 44 2e 65 78 65 .RE_PROC_END.exe
25c0: 63 28 65 6e 64 70 72 6f 63 29 29 20 21 3d 20 6e c(endproc)) != n
25d0: 75 6c 6c 20 29 0d 0a 20 20 20 20 20 20 20 20 20 ull )..
25e0: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 {..
25f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2600: 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 73 74 state = st
2610: 49 6e 4d 6f 64 75 6c 65 3b 0d 0a 20 20 20 20 20 InModule;..
2620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2630: 20 20 20 6e 65 78 74 50 61 72 74 20 3d 20 65 6e nextPart = en
2640: 64 70 72 6f 63 2e 73 75 62 73 74 72 28 53 79 6e dproc.substr(Syn
2650: 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 50 taxAnalysis.RE_P
2660: 52 4f 43 5f 45 4e 44 2e 6c 61 73 74 49 6e 64 65 ROC_END.lastInde
2670: 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 x);..
2680: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 if
2690: 28 6e 65 78 74 50 61 72 74 29 0d 0a 20 20 20 20 (nextPart)..
26a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
26b0: 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 continue
26c0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
26d0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
26e0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
26f0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
2700: 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 else if (
2710: 28 4d 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 (Matches = Synta
2720: 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 56 41 52 xAnalysis.RE_VAR
2730: 53 5f 44 45 46 2e 65 78 65 63 28 73 74 72 29 29 S_DEF.exec(str))
2740: 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 != null)..
2750: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 {..
2760: 20 20 20 20 20 20 20 20 20 20 73 74 72 20 3d 20 str =
2770: 4d 61 74 63 68 65 73 5b 31 5d 3b 0d 0a 20 20 20 Matches[1];..
2780: 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 nex
2790: 74 50 61 72 74 20 3d 20 4d 61 74 63 68 65 73 5b tPart = Matches[
27a0: 34 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 4];..
27b0: 20 20 20 20 20 77 68 69 6c 65 28 20 28 4d 61 74 while( (Mat
27c0: 63 68 65 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 ches = SyntaxAna
27d0: 6c 79 73 69 73 2e 52 45 5f 56 41 52 2e 65 78 65 lysis.RE_VAR.exe
27e0: 63 28 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 c(str)) != null
27f0: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
2800: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
2810: 20 20 20 20 20 20 20 20 20 20 69 66 28 20 50 72 if( Pr
2820: 65 76 53 74 61 74 65 20 3d 3d 20 73 74 49 6e 50 evState == stInP
2830: 72 6f 63 20 29 0d 0a 20 20 20 20 20 20 20 20 20 roc )..
2840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d M
2850: 65 74 68 2e 61 64 64 56 61 72 28 4d 61 74 63 68 eth.addVar(Match
2860: 65 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 20 20 es[1]);..
2870: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 els
2880: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e..
2890: 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 75 6c modul
28a0: 65 43 6f 6e 74 65 78 74 2e 61 64 64 56 61 72 28 eContext.addVar(
28b0: 4d 61 74 63 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 Matches[1]);..
28c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d }.
28d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
28e0: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
28f0: 20 20 20 69 66 20 28 6e 65 78 74 50 61 72 74 29 if (nextPart)
2900: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2910: 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0d continue;.
2920: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2930: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2940: 20 20 20 73 74 72 20 3d 20 73 74 72 2e 72 65 70 str = str.rep
2950: 6c 61 63 65 28 53 79 6e 74 61 78 41 6e 61 6c 79 lace(SyntaxAnaly
2960: 73 69 73 2e 52 45 5f 53 50 41 43 45 2c 20 22 22 sis.RE_SPACE, ""
2970: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
2980: 20 20 20 20 69 66 28 20 73 74 72 2e 73 75 62 73 if( str.subs
2990: 74 72 28 73 74 72 2e 6c 65 6e 67 74 68 2d 31 29 tr(str.length-1)
29a0: 20 3d 3d 20 22 3b 22 20 29 0d 0a 20 20 20 20 20 == ";" )..
29b0: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 {..
29c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
29d0: 20 20 73 74 61 74 65 20 3d 20 50 72 65 76 53 74 state = PrevSt
29e0: 61 74 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ate;..
29f0: 20 20 20 20 20 20 7d 20 0d 0a 20 20 20 20 20 20 } ..
2a00: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 else i
2a10: 66 20 28 73 74 72 2e 73 75 62 73 74 72 28 73 74 f (str.substr(st
2a20: 72 2e 6c 65 6e 67 74 68 2d 31 29 20 3d 3d 20 22 r.length-1) == "
2a30: 2c 22 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ,")..
2a40: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 {..
2a50: 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 76 Prev
2a60: 53 74 61 74 65 20 3d 20 73 74 61 74 65 3b 0d 0a State = state;..
2a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2a80: 20 20 20 20 73 74 61 74 65 20 3d 20 73 74 49 6e state = stIn
2a90: 56 61 72 73 44 65 66 3b 0d 0a 20 20 20 20 20 20 VarsDef;..
2aa0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 }..
2ab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 bre
2ac0: 61 6b 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d ak; .
2ad0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a . }..
2ae0: 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 brea
2af0: 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 k;..
2b00: 0d 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 73 .. case s
2b10: 74 49 6e 50 72 6f 63 3a 0d 0a 20 20 20 20 20 20 tInProc:..
2b20: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..
2b30: 4d 61 74 63 68 65 73 20 3d 20 53 79 6e 74 61 78 Matches = Syntax
2b40: 41 6e 61 6c 79 73 69 73 2e 52 45 5f 50 52 4f 43 Analysis.RE_PROC
2b50: 5f 45 4e 44 2e 65 78 65 63 28 73 74 72 29 3b 0d _END.exec(str);.
2b60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 . if(
2b70: 20 4d 61 74 63 68 65 73 20 21 3d 20 6e 75 6c 6c Matches != null
2b80: 20 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 )..
2b90: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {..
2ba0: 20 20 20 69 66 28 20 73 74 61 74 65 20 3d 3d 20 if( state ==
2bb0: 73 74 49 6e 50 72 6f 63 20 29 20 4d 65 74 68 2e stInProc ) Meth.
2bc0: 45 6e 64 4c 69 6e 65 20 3d 20 69 3b 0d 0a 20 20 EndLine = i;..
2bd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 st
2be0: 61 74 65 20 3d 20 73 74 49 6e 4d 6f 64 75 6c 65 ate = stInModule
2bf0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ;.. }
2c00: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c .. el
2c10: 73 65 20 69 66 28 20 28 4d 61 74 63 68 65 73 20 se if( (Matches
2c20: 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 = SyntaxAnalysis
2c30: 2e 52 45 5f 56 41 52 53 5f 44 45 46 2e 65 78 65 .RE_VARS_DEF.exe
2c40: 63 28 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 c(str)) != null
2c50: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b ).. {
2c60: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
2c70: 20 20 76 61 72 20 65 78 70 6f 72 74 65 64 20 3d var exported =
2c80: 20 4d 61 74 63 68 65 73 5b 32 5d 3b 0d 0a 20 20 Matches[2];..
2c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 va
2ca0: 72 20 73 65 6d 69 63 6f 6c 6f 6e 20 3d 20 4d 61 r semicolon = Ma
2cb0: 74 63 68 65 73 5b 33 5d 2e 72 65 70 6c 61 63 65 tches[3].replace
2cc0: 28 53 79 6e 74 61 78 41 6e 61 6c 79 73 69 73 2e (SyntaxAnalysis.
2cd0: 52 45 5f 53 50 41 43 45 2c 20 22 22 29 3b 0d 0a RE_SPACE, "");..
2ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2cf0: 73 74 72 20 3d 20 4d 61 74 63 68 65 73 5b 31 5d str = Matches[1]
2d00: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
2d10: 20 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63 68 while( (Match
2d20: 65 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 es = SyntaxAnaly
2d30: 73 69 73 2e 52 45 5f 56 41 52 2e 65 78 65 63 28 sis.RE_VAR.exec(
2d40: 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 0d str)) != null ).
2d50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2d60: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 {..
2d70: 20 20 20 20 20 20 20 20 69 66 28 20 73 74 61 74 if( stat
2d80: 65 20 3d 3d 20 73 74 49 6e 50 72 6f 63 20 29 0d e == stInProc ).
2d90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2da0: 20 20 20 20 20 20 20 20 20 4d 65 74 68 2e 61 64 Meth.ad
2db0: 64 56 61 72 28 4d 61 74 63 68 65 73 5b 31 5d 29 dVar(Matches[1])
2dc0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ;..
2dd0: 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 else..
2de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2df0: 20 20 20 20 20 6d 6f 64 75 6c 65 43 6f 6e 74 65 moduleConte
2e00: 78 74 2e 61 64 64 56 61 72 28 4d 61 74 63 68 65 xt.addVar(Matche
2e10: 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 s[1]);..
2e20: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
2e30: 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 73 if( s
2e40: 65 6d 69 63 6f 6c 6f 6e 20 21 3d 20 22 3b 22 20 emicolon != ";"
2e50: 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 )..
2e60: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 {..
2e70: 20 20 20 20 20 20 20 20 20 20 50 72 65 76 53 74 PrevSt
2e80: 61 74 65 20 3d 20 73 74 61 74 65 3b 0d 0a 20 20 ate = state;..
2e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2ea0: 20 20 73 74 61 74 65 20 3d 20 73 74 49 6e 56 61 state = stInVa
2eb0: 72 73 44 65 66 3b 0d 0a 20 20 20 20 20 20 20 20 rsDef;..
2ec0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
2ed0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
2ee0: 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 else..
2ef0: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 {..
2f00: 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 while
2f10: 28 20 28 4d 61 74 63 68 65 73 20 3d 20 53 79 6e ( (Matches = Syn
2f20: 74 61 78 41 6e 61 6c 79 73 69 73 2e 52 45 5f 56 taxAnalysis.RE_V
2f30: 41 52 5f 41 53 53 49 47 4e 2e 65 78 65 63 28 73 AR_ASSIGN.exec(s
2f40: 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 0d 0a tr)) != null )..
2f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2f60: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {..
2f70: 20 20 20 20 20 20 20 76 61 72 20 76 61 72 4e 61 var varNa
2f80: 6d 65 20 3d 20 4d 61 74 63 68 65 73 5b 31 5d 3b me = Matches[1];
2f90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2fa0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 ..
2fb0: 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 ..
2fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2fd0: 69 66 28 20 76 61 72 4e 61 6d 65 2e 69 6e 64 65 if( varName.inde
2fe0: 78 4f 66 28 22 2e 22 2c 20 30 29 20 3e 3d 20 30 xOf(".", 0) >= 0
2ff0: 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 ) continue;..
3000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3010: 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..
3020: 20 20 20 20 20 20 20 20 69 66 20 28 73 74 61 74 if (stat
3030: 65 20 3d 3d 20 73 74 49 6e 50 72 6f 63 29 0d 0a e == stInProc)..
3040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3050: 20 20 20 20 20 20 20 20 4d 65 74 68 2e 61 64 64 Meth.add
3060: 56 61 72 28 76 61 72 4e 61 6d 65 2c 20 6e 75 6c Var(varName, nul
3070: 6c 2c 20 74 72 75 65 29 3b 20 2f 2f 20 61 75 74 l, true); // aut
3080: 6f 6d 61 74 69 63 20 76 61 72 0d 0a 20 20 20 20 omatic var..
3090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
30a0: 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 else..
30b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f mo
30c0: 64 75 6c 65 43 6f 6e 74 65 78 74 2e 61 64 64 56 duleContext.addV
30d0: 61 72 28 76 61 72 4e 61 6d 65 29 3b 0d 0a 20 20 ar(varName);..
30e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d }.
30f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3100: 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
3110: 20 20 20 69 66 28 20 73 74 61 74 65 20 3d 3d 20 if( state ==
3120: 73 74 49 6e 50 72 6f 63 20 29 0d 0a 20 20 20 20 stInProc )..
3130: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 {..
3140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3150: 20 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63 68 while( (Match
3160: 65 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 es = SyntaxAnaly
3170: 73 69 73 2e 52 45 5f 43 41 4c 4c 2e 65 78 65 63 sis.RE_CALL.exec
3180: 28 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 (str)) != null )
3190: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
31a0: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 {..
31b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
31c0: 20 69 66 28 20 4d 61 74 63 68 65 73 5b 31 5d 2e if( Matches[1].
31d0: 69 6e 64 65 78 4f 66 28 27 2e 27 29 20 3e 3d 20 indexOf('.') >=
31e0: 30 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 0 ) continue;..
31f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3200: 20 20 20 20 20 20 20 69 66 28 20 4d 65 74 68 2e if( Meth.
3210: 43 61 6c 6c 73 2e 69 6e 64 65 78 4f 66 28 4d 61 Calls.indexOf(Ma
3220: 74 63 68 65 73 5b 31 5d 29 20 3e 3d 20 30 29 20 tches[1]) >= 0)
3230: 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 continue;..
3240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3250: 20 20 20 4d 65 74 68 2e 43 61 6c 6c 73 2e 70 75 Meth.Calls.pu
3260: 73 68 28 4d 61 74 63 68 65 73 5b 31 5d 29 3b 0d sh(Matches[1]);.
3270: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3280: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
3290: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 }..
32a0: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
32b0: 20 20 20 20 20 20 62 72 65 61 6b 3b 20 20 0d 0a break; ..
32c0: 0d 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 73 .. case s
32d0: 74 49 6e 56 61 72 73 44 65 66 3a 0d 0a 20 20 20 tInVarsDef:..
32e0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 ..
32f0: 20 20 20 77 68 69 6c 65 28 20 28 4d 61 74 63 68 while( (Match
3300: 65 73 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c 79 es = SyntaxAnaly
3310: 73 69 73 2e 52 45 5f 56 41 52 2e 65 78 65 63 28 sis.RE_VAR.exec(
3320: 73 74 72 29 29 20 21 3d 20 6e 75 6c 6c 20 29 0d str)) != null ).
3330: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a . {..
3340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3350: 69 66 28 20 50 72 65 76 53 74 61 74 65 20 3d 3d if( PrevState ==
3360: 20 73 74 49 6e 50 72 6f 63 20 29 0d 0a 20 20 20 stInProc )..
3370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3380: 20 4d 65 74 68 2e 61 64 64 56 61 72 28 4d 61 74 Meth.addVar(Mat
3390: 63 68 65 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 ches[1]);..
33a0: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d else.
33b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
33c0: 20 20 20 20 20 6d 6f 64 75 6c 65 43 6f 6e 74 65 moduleConte
33d0: 78 74 2e 61 64 64 56 61 72 28 4d 61 74 63 68 65 xt.addVar(Matche
33e0: 73 5b 31 5d 29 3b 0d 0a 20 20 20 20 20 20 20 20 s[1]);..
33f0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 }..
3400: 20 20 20 73 74 72 20 3d 20 73 74 72 2e 72 65 70 str = str.rep
3410: 6c 61 63 65 28 53 79 6e 74 61 78 41 6e 61 6c 79 lace(SyntaxAnaly
3420: 73 69 73 2e 52 45 5f 53 50 41 43 45 2c 20 22 22 sis.RE_SPACE, ""
3430: 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 );..
3440: 69 66 28 20 73 74 72 2e 73 75 62 73 74 72 28 73 if( str.substr(s
3450: 74 72 2e 6c 65 6e 67 74 68 2d 31 29 20 3d 3d 20 tr.length-1) ==
3460: 22 3b 22 20 29 0d 0a 20 20 20 20 20 20 20 20 20 ";" )..
3470: 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 50 state = P
3480: 72 65 76 53 74 61 74 65 3b 0d 0a 20 20 20 20 20 revState;..
3490: 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 break;..
34a0: 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 ..
34b0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 }..
34c0: 0d 0a 20 20 20 20 20 20 20 20 69 2b 2b 3b 0d 0a .. i++;..
34d0: 20 20 20 20 20 20 20 20 6e 65 78 74 50 61 72 74 nextPart
34e0: 20 3d 20 27 27 3b 0d 0a 20 20 20 20 7d 0d 0a 0d = '';.. }...
34f0: 0a 20 20 20 20 72 65 74 75 72 6e 20 6d 6f 64 75 . return modu
3500: 6c 65 43 6f 6e 74 65 78 74 3b 0d 0a 7d 0d 0a 0d leContext;..}...
3510: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .///////////////
3520: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3530: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3540: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3550: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3560: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b /////////..////{
3570: 20 5f 31 43 4d 6f 64 75 6c 65 0d 0a 0d 0a 66 75 _1CModule....fu
3580: 6e 63 74 69 6f 6e 20 5f 31 43 4d 6f 64 75 6c 65 nction _1CModule
3590: 28 74 65 78 74 57 69 6e 64 6f 77 29 20 7b 0d 0a (textWindow) {..
35a0: 20 20 20 20 74 68 69 73 2e 74 65 78 74 57 69 6e this.textWin
35b0: 64 6f 77 20 3d 20 74 65 78 74 57 69 6e 64 6f 77 dow = textWindow
35c0: 3b 0d 0a 20 20 20 20 74 68 69 73 2e 63 6f 6e 74 ;.. this.cont
35d0: 65 78 74 20 3d 20 53 79 6e 74 61 78 41 6e 61 6c ext = SyntaxAnal
35e0: 79 73 69 73 2e 41 6e 61 6c 79 73 65 4d 6f 64 75 ysis.AnalyseModu
35f0: 6c 65 28 74 68 69 73 2e 74 65 78 74 57 69 6e 64 le(this.textWind
3600: 6f 77 2e 47 65 74 54 65 78 74 28 29 2c 20 74 72 ow.GetText(), tr
3610: 75 65 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 ue);..}..../* ..
3620: d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 ................
3630: d1 82 20 d0 b8 d1 81 d1 85 d0 be d0 b4 d0 bd d1 .. .............
3640: 8b d0 b9 20 d0 ba d0 be d0 b4 20 d0 bc d0 b5 d1 ... ...... .....
3650: 82 d0 be d0 b4 d0 b0 20 d0 bf d0 be 20 d0 bd d0 ....... .... ...
3660: b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1 8e 20 d0 bc ............. ..
3670: d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 20 2a 2f 0d 0a ........... */..
3680: 5f 31 43 4d 6f 64 75 6c 65 2e 70 72 6f 74 6f 74 _1CModule.protot
3690: 79 70 65 2e 67 65 74 4d 65 74 68 6f 64 53 6f 75 ype.getMethodSou
36a0: 72 63 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6d rce = function(m
36b0: 65 74 68 6f 64 4e 61 6d 65 29 20 7b 0d 0a 20 20 ethodName) {..
36c0: 20 20 76 61 72 20 6d 65 74 68 6f 64 20 3d 20 74 var method = t
36d0: 68 69 73 2e 63 6f 6e 74 65 78 74 2e 67 65 74 4d his.context.getM
36e0: 65 74 68 6f 64 42 79 4e 61 6d 65 28 6d 65 74 68 ethodByName(meth
36f0: 6f 64 4e 61 6d 65 29 3b 0d 0a 20 20 20 20 69 66 odName);.. if
3700: 20 28 21 6d 65 74 68 6f 64 29 20 72 65 74 75 72 (!method) retur
3710: 6e 20 75 6e 64 65 66 69 6e 65 64 3b 0d 0a 20 20 n undefined;..
3720: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 74 65 return this.te
3730: 78 74 57 69 6e 64 6f 77 2e 52 61 6e 67 65 28 6d xtWindow.Range(m
3740: 65 74 68 6f 64 2e 53 74 61 72 74 4c 69 6e 65 20 ethod.StartLine
3750: 2b 20 31 2c 20 31 2c 20 6d 65 74 68 6f 64 2e 45 + 1, 1, method.E
3760: 6e 64 4c 69 6e 65 20 2b 20 31 29 2e 47 65 74 54 ndLine + 1).GetT
3770: 65 78 74 28 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 ext();..}..../*
3780: d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 89 d0 b0 ................
3790: d0 b5 d1 82 20 d1 82 d0 b0 d0 b1 d0 bb d0 b8 d1 .... ...........
37a0: 86 d1 83 20 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd ... ............
37b0: d0 b8 d0 b9 20 d1 81 20 d0 be d0 bf d0 b8 d1 81 .... .. ........
37c0: d0 b0 d0 bd d0 b8 d1 8f d0 bc d0 b8 20 d0 bc d0 ............ ...
37d0: b5 d1 82 d0 be d0 b4 d0 be d0 b2 20 d0 bc d0 be ........... ....
37e0: d0 b4 d1 83 d0 bb d1 8f 2e 20 2a 2f 0d 0a 5f 31 ......... */.._1
37f0: 43 4d 6f 64 75 6c 65 2e 70 72 6f 74 6f 74 79 70 CModule.prototyp
3800: 65 2e 67 65 74 4d 65 74 68 6f 64 73 54 61 62 6c e.getMethodsTabl
3810: 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b e = function() {
3820: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 68 69 .. return thi
3830: 73 2e 63 6f 6e 74 65 78 74 2e 5f 76 74 41 6c 6c s.context._vtAll
3840: 4d 65 74 68 6f 64 73 2e 43 6f 70 79 28 29 3b 0d Methods.Copy();.
3850: 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 .}..../* .......
3860: b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 be ............. ..
3870: d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8 d0 b5 20 d0 .............. .
3880: bc d0 b5 d1 82 d0 be d0 b4 d0 b0 20 d0 bf d0 be ........... ....
3890: 20 d0 bd d0 be d0 bc d0 b5 d1 80 d1 83 20 d1 81 ............ ..
38a0: d1 82 d1 80 d0 be d0 ba d0 b8 2c 20 d0 bd d0 b0 .........., ....
38b0: d1 85 d0 be d0 b4 d1 8f d1 89 d0 b5 d0 b9 d1 81 ................
38c0: d1 8f 20 d0 b2 d0 bd d1 83 d1 82 d1 80 d0 b8 20 .. ............
38d0: d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 20 2a 2f ............. */
38e0: 0d 0a 5f 31 43 4d 6f 64 75 6c 65 2e 70 72 6f 74 .._1CModule.prot
38f0: 6f 74 79 70 65 2e 67 65 74 4d 65 74 68 6f 64 42 otype.getMethodB
3900: 79 4c 69 6e 65 4e 75 6d 62 65 72 20 3d 20 66 75 yLineNumber = fu
3910: 6e 63 74 69 6f 6e 20 28 6c 69 6e 65 4e 6f 29 20 nction (lineNo)
3920: 7b 0d 0a 0d 0a 20 20 20 20 76 61 72 20 6d 65 74 {.... var met
3930: 68 6f 64 73 20 3d 20 74 68 69 73 2e 63 6f 6e 74 hods = this.cont
3940: 65 78 74 2e 4d 65 74 68 6f 64 73 3b 0d 0a 20 20 ext.Methods;..
3950: 20 20 0d 0a 20 20 20 20 66 6f 72 20 28 76 61 72 .. for (var
3960: 20 69 3d 30 3b 20 69 3c 6d 65 74 68 6f 64 73 2e i=0; i<methods.
3970: 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 0d 0a 20 20 length; i++)..
3980: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2a 20 {.. /*
3990: d0 9f d0 be d0 bc d0 bd d0 b8 d0 bc 2c 20 d1 87 ............, ..
39a0: d1 82 d0 be 20 d0 bd d1 83 d0 bc d0 b5 d1 80 d0 .... ...........
39b0: b0 d1 86 d0 b8 d1 8f 20 d1 81 d1 82 d1 80 d0 be ....... ........
39c0: d0 ba 20 d0 bd d0 b0 d1 87 d0 b8 d0 bd d0 b0 d0 .. .............
39d0: b5 d1 82 d1 81 d1 8f 20 d1 81 20 31 2c 20 0d 0a ....... .. 1, ..
39e0: 20 20 20 20 20 20 20 20 d0 b0 20 d1 81 d1 82 d1 .. .....
39f0: 80 d0 be d0 ba d0 b8 20 d0 bc d0 be d0 b4 d1 83 ....... ........
3a00: d0 bb d1 8f 20 d0 b2 20 53 79 6e 74 61 78 41 6e .... .. SyntaxAn
3a10: 61 6c 79 73 69 73 20 d0 bf d1 80 d0 be d0 b8 d0 alysis .........
3a20: bd d0 b4 d0 b5 d0 ba d1 81 d0 b8 d1 80 d0 be d0 ................
3a30: b2 d0 b0 d0 bd d1 8b 20 d1 81 20 30 2e 20 2a 2f ....... .. 0. */
3a40: 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6d 65 .. if (me
3a50: 74 68 6f 64 73 5b 69 5d 2e 53 74 61 72 74 4c 69 thods[i].StartLi
3a60: 6e 65 20 2b 20 31 20 3c 3d 20 6c 69 6e 65 4e 6f ne + 1 <= lineNo
3a70: 20 26 26 20 6c 69 6e 65 4e 6f 20 3c 3d 20 6d 65 && lineNo <= me
3a80: 74 68 6f 64 73 5b 69 5d 2e 45 6e 64 4c 69 6e 65 thods[i].EndLine
3a90: 20 2b 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 + 1)..
3aa0: 20 20 20 72 65 74 75 72 6e 20 6d 65 74 68 6f 64 return method
3ab0: 73 5b 69 5d 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 s[i];.. }..
3ac0: 20 20 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 75 .. return u
3ad0: 6e 64 65 66 69 6e 65 64 3b 0d 0a 7d 0d 0a 0d 0a ndefined;..}....
3ae0: 2f 2a 20 d0 92 d0 be d0 b7 d0 b2 d1 80 d0 b0 d1 /* .............
3af0: 89 d0 b0 d0 b5 d1 82 20 d0 be d0 bf d0 b8 d1 81 ....... ........
3b00: d0 b0 d0 bd d0 b8 d0 b5 20 d0 bc d0 b5 d1 82 d0 ........ .......
3b10: be d0 b4 d0 b0 2c 20 d0 ba d0 be d1 82 d0 be d1 ....., .........
3b20: 80 d0 be d0 bc d1 83 20 d0 bf d1 80 d0 b8 d0 bd ....... ........
3b30: d0 b0 d0 b4 d0 bb d0 b5 d0 b6 d0 b8 d1 82 20 d1 .............. .
3b40: 82 d0 b5 d0 ba d1 83 d1 89 d0 b0 d1 8f 20 d1 81 ............. ..
3b50: d1 82 d1 80 d0 be d0 ba d0 b0 20 0d 0a 28 d1 81 .......... ..(..
3b60: d1 82 d1 80 d0 be d0 ba d0 b0 2c 20 d0 b2 20 d0 .........., .. .
3b70: ba d0 be d1 82 d0 be d1 80 d0 be d0 b9 20 d0 bd ............. ..
3b80: d0 b0 d1 85 d0 be d0 b4 d0 b8 d1 82 d1 81 d1 8f ................
3b90: 20 d0 ba d1 83 d1 80 d1 81 d0 be d1 80 29 2e 20 ............).
3ba0: 2a 2f 0d 0a 5f 31 43 4d 6f 64 75 6c 65 2e 70 72 */.._1CModule.pr
3bb0: 6f 74 6f 74 79 70 65 2e 67 65 74 41 63 74 69 76 ototype.getActiv
3bc0: 65 4c 69 6e 65 4d 65 74 68 6f 64 20 3d 20 66 75 eLineMethod = fu
3bd0: 6e 63 74 69 6f 6e 20 28 29 20 7b 0d 0a 20 20 20 nction () {..
3be0: 20 76 61 72 20 70 6f 73 20 3d 20 74 68 69 73 2e var pos = this.
3bf0: 74 65 78 74 57 69 6e 64 6f 77 2e 47 65 74 43 61 textWindow.GetCa
3c00: 72 65 74 50 6f 73 28 29 3b 0d 0a 20 20 20 20 72 retPos();.. r
3c10: 65 74 75 72 6e 20 74 68 69 73 2e 67 65 74 4d 65 eturn this.getMe
3c20: 74 68 6f 64 42 79 4c 69 6e 65 4e 75 6d 62 65 72 thodByLineNumber
3c30: 28 70 6f 73 2e 62 65 67 69 6e 52 6f 77 29 3b 0d (pos.beginRow);.
3c40: 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 5f 31 43 4d .}....////} _1CM
3c50: 6f 64 75 6c 65 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f odule....///////
3c60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3c70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3c80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3c90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3ca0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
3cb0: 2f 0d 0a 2f 2f 2f 2f 7b 20 5f 31 43 4d 6f 64 75 /..////{ _1CModu
3cc0: 6c 65 43 6f 6e 74 65 78 74 44 65 73 63 72 69 70 leContextDescrip
3cd0: 74 69 6f 6e 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e tion....function
3ce0: 20 5f 31 43 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 _1CModuleContex
3cf0: 74 44 65 73 63 72 69 70 74 69 6f 6e 28 69 6e 69 tDescription(ini
3d00: 74 56 61 6c 75 65 54 61 62 6c 65 29 20 7b 0d 0a tValueTable) {..
3d10: 0d 0a 20 20 20 20 2f 2f 20 d0 9c d0 b0 d1 81 d1 .. // .......
3d20: 81 d0 b8 d0 b2 20 d0 b2 d1 81 d0 b5 d1 85 20 d0 ..... ........ .
3d30: bc d0 b5 d1 82 d0 be d0 b4 d0 be d0 b2 20 d0 bc ............. ..
3d40: d0 be d0 b4 d1 83 d0 bb d1 8f 2e 0d 0a 20 20 20 .............
3d50: 20 74 68 69 73 2e 4d 65 74 68 6f 64 73 20 3d 20 this.Methods =
3d60: 6e 65 77 20 41 72 72 61 79 28 29 3b 0d 0a 20 20 new Array();..
3d70: 20 20 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 .. // .
3d80: 90 d1 81 d1 81 d0 be d1 86 d0 b8 d0 b0 d1 82 d0 ................
3d90: b8 d0 b2 d0 bd d1 8b d0 b9 20 d0 bc d0 b0 d1 81 ......... ......
3da0: d1 81 d0 b8 d0 b2 20 d0 98 d0 bc d1 8f 20 d0 bc ...... ...... ..
3db0: d0 b5 d1 82 d0 be d0 b4 d0 b0 20 2d 3e 20 5f 31 .......... -> _1
3dc0: 43 4d 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 CMethodDescripti
3dd0: 6f 6e 0d 0a 20 20 20 20 74 68 69 73 2e 5f 6d 65 on.. this._me
3de0: 74 68 6f 64 73 42 79 4e 61 6d 65 20 3d 20 7b 7d thodsByName = {}
3df0: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 ;.. .. //
3e00: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 b2 d1 ............ ...
3e10: 81 d0 b5 d1 85 20 d1 8f d0 b2 d0 bd d1 8b d0 bc ..... ..........
3e20: 20 d0 be d0 b1 d1 80 d0 b0 d0 b7 d0 be d0 bc 20 ..............
3e30: d0 be d0 b1 d1 8a d1 8f d0 b2 d0 bb d0 b5 d0 bd ................
3e40: d0 bd d1 8b d1 85 20 d0 bf d0 b5 d1 80 d0 b5 d0 ...... .........
3e50: bc d0 b5 d0 bd d0 bd d1 8b d1 85 20 d0 bc d0 be ........... ....
3e60: d0 b4 d1 83 d0 bb d1 8f 2e 0d 0a 20 20 20 20 74 ........... t
3e70: 68 69 73 2e 4d 6f 64 75 6c 65 56 61 72 73 20 3d his.ModuleVars =
3e80: 20 6e 65 77 20 41 72 72 61 79 28 29 3b 20 20 20 new Array();
3e90: 20 20 20 20 20 0d 0a 20 20 20 20 0d 0a 20 20 20 .. ..
3ea0: 20 2f 2f 20 d0 90 d1 81 d1 81 d0 be d1 86 d0 b8 // ............
3eb0: d0 b0 d1 82 d0 b8 d0 b2 d0 bd d1 8b d0 b9 20 d0 .............. .
3ec0: bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 98 d0 bc ........... ....
3ed0: d1 8f 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 .. .............
3ee0: bd d0 bd d0 be d0 b9 20 2d 3e 20 d0 a2 d0 b8 d0 ....... -> .....
3ef0: bf 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd . ..............
3f00: d0 bd d0 be d0 b9 20 28 d0 bf d0 be d0 ba d0 b0 ...... (........
3f10: 20 d1 82 d0 b8 d0 bf 20 d0 b2 d1 81 d0 b5 d0 b3 ...... ........
3f20: d0 b4 d0 b0 20 6e 75 6c 6c 29 2e 0d 0a 20 20 20 .... null)...
3f30: 20 74 68 69 73 2e 5f 6d 6f 64 75 6c 65 56 61 72 this._moduleVar
3f40: 73 54 79 70 65 73 20 3d 20 7b 7d 3b 0d 0a 20 20 sTypes = {};..
3f50: 20 20 0d 0a 20 20 20 20 74 68 69 73 2e 5f 76 74 .. this._vt
3f60: 41 6c 6c 4d 65 74 68 6f 64 73 20 3d 20 6e 75 6c AllMethods = nul
3f70: 6c 3b 0d 0a 20 20 20 20 69 66 20 28 69 6e 69 74 l;.. if (init
3f80: 56 61 6c 75 65 54 61 62 6c 65 29 20 0d 0a 20 20 ValueTable) ..
3f90: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 {.. var
3fa0: 20 76 38 54 79 70 65 5f 53 74 72 69 6e 67 20 3d v8Type_String =
3fb0: 20 76 38 4e 65 77 28 27 54 79 70 65 44 65 73 63 v8New('TypeDesc
3fc0: 72 69 70 74 69 6f 6e 27 2c 20 27 d0 a1 d1 82 d1 ription', '.....
3fd0: 80 d0 be d0 ba d0 b0 27 2c 20 75 6e 64 65 66 69 .......', undefi
3fe0: 6e 65 64 2c 20 76 38 4e 65 77 28 27 53 74 72 69 ned, v8New('Stri
3ff0: 6e 67 51 75 61 6c 69 66 69 65 72 73 27 2c 20 32 ngQualifiers', 2
4000: 35 35 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 76 55));.. v
4010: 61 72 20 76 38 54 79 70 65 5f 4e 75 6d 62 65 72 ar v8Type_Number
4020: 20 3d 20 76 38 4e 65 77 28 27 54 79 70 65 44 65 = v8New('TypeDe
4030: 73 63 72 69 70 74 69 6f 6e 27 2c 20 27 d0 a7 d0 scription', '...
4040: b8 d1 81 d0 bb d0 be 27 2c 20 76 38 4e 65 77 28 .......', v8New(
4050: 27 4e 75 6d 62 65 72 51 75 61 6c 69 66 69 65 72 'NumberQualifier
4060: 73 27 2c 20 31 30 2c 20 30 29 29 3b 0d 0a 20 20 s', 10, 0));..
4070: 20 20 20 20 20 20 76 61 72 20 76 38 54 79 70 65 var v8Type
4080: 5f 42 6f 6f 6c 65 61 6e 20 3d 20 76 38 4e 65 77 _Boolean = v8New
4090: 28 27 54 79 70 65 44 65 73 63 72 69 70 74 69 6f ('TypeDescriptio
40a0: 6e 27 2c 20 27 d0 91 d1 83 d0 bb d0 b5 d0 b2 d0 n', '...........
40b0: be 27 29 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 .');.. ..
40c0: 20 20 20 20 74 68 69 73 2e 5f 76 74 41 6c 6c 4d this._vtAllM
40d0: 65 74 68 6f 64 73 20 3d 20 76 38 4e 65 77 28 27 ethods = v8New('
40e0: 56 61 6c 75 65 54 61 62 6c 65 27 29 3b 0d 0a 20 ValueTable');..
40f0: 20 20 20 20 20 20 20 76 61 72 20 63 6f 6c 73 20 var cols
4100: 3d 20 74 68 69 73 2e 5f 76 74 41 6c 6c 4d 65 74 = this._vtAllMet
4110: 68 6f 64 73 2e 43 6f 6c 75 6d 6e 73 3b 0d 0a 20 hods.Columns;..
4120: 20 20 20 20 20 20 20 2f 2f 20 d0 94 d0 be d0 b1 // ......
4130: d0 b0 d0 b2 d0 bb d1 8f d0 b5 d0 bc 20 d0 ba d0 ............ ...
4140: be d0 bb d0 be d0 bd d0 ba d0 b8 2e 0d 0a 20 20 ..............
4150: 20 20 20 20 20 20 63 6f 6c 73 2e 41 64 64 28 27 cols.Add('
4160: 4e 61 6d 65 27 2c 20 76 38 54 79 70 65 5f 53 74 Name', v8Type_St
4170: 72 69 6e 67 2c 20 27 d0 98 d0 bc d1 8f 20 d0 bf ring, '...... ..
4180: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d1 8b ................
4190: 2f d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 27 /..............'
41a0: 29 3b 0d 0a 20 20 20 20 20 20 20 20 63 6f 6c 73 );.. cols
41b0: 2e 41 64 64 28 27 49 73 50 72 6f 63 27 2c 20 76 .Add('IsProc', v
41c0: 38 54 79 70 65 5f 42 6f 6f 6c 65 61 6e 2c 20 27 8Type_Boolean, '
41d0: d0 9f d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 ................
41e0: d0 b0 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 63 ..');.. c
41f0: 6f 6c 73 2e 41 64 64 28 27 53 74 61 72 74 4c 69 ols.Add('StartLi
4200: 6e 65 27 2c 20 76 38 54 79 70 65 5f 4e 75 6d 62 ne', v8Type_Numb
4210: 65 72 2c 20 27 4e 20 d0 bf d0 b5 d1 80 d0 b2 d0 er, 'N .........
4220: be d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b8 ... ............
4230: 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 63 6f 6c ');.. col
4240: 73 2e 41 64 64 28 27 45 6e 64 4c 69 6e 65 27 2c s.Add('EndLine',
4250: 20 76 38 54 79 70 65 5f 4e 75 6d 62 65 72 2c 20 v8Type_Number,
4260: 27 4e 20 d0 bf d0 be d1 81 d0 bb d0 b5 d0 b4 d0 'N .............
4270: bd d0 b5 d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba ..... ..........
4280: d0 b8 27 29 3b 0d 0a 20 20 20 20 20 20 20 20 63 ..');.. c
4290: 6f 6c 73 2e 41 64 64 28 27 43 6f 6e 74 65 78 74 ols.Add('Context
42a0: 27 2c 20 76 38 54 79 70 65 5f 53 74 72 69 6e 67 ', v8Type_String
42b0: 2c 20 27 d0 9a d0 be d0 bd d1 82 d0 b5 d0 ba d1 , '.............
42c0: 81 d1 82 20 d0 ba d0 be d0 bc d0 bf d0 b8 d0 bb ... ............
42d0: d1 8f d1 86 d0 b8 d0 b8 20 d0 bc d0 be d0 b4 d1 ........ .......
42e0: 83 d0 bb d1 8f 27 29 3b 0d 0a 20 20 20 20 20 20 .....');..
42f0: 20 20 0d 0a 20 20 20 20 20 20 20 20 63 6f 6c 73 .. cols
4300: 2e 41 64 64 28 27 5f 6d 65 74 68 6f 64 27 29 3b .Add('_method');
4310: 20 2f 2f 20 5f 31 43 4d 65 74 68 6f 64 44 65 73 // _1CMethodDes
4320: 63 72 69 70 74 69 6f 6e 0d 0a 20 20 20 20 7d 0d cription.. }.
4330: 0a 7d 0d 0a 0d 0a 5f 31 43 4d 6f 64 75 6c 65 43 .}...._1CModuleC
4340: 6f 6e 74 65 78 74 44 65 73 63 72 69 70 74 69 6f ontextDescriptio
4350: 6e 2e 70 72 6f 74 6f 74 79 70 65 2e 61 64 64 4d n.prototype.addM
4360: 65 74 68 6f 64 20 3d 20 66 75 6e 63 74 69 6f 6e ethod = function
4370: 20 28 6d 65 74 68 6f 64 29 20 7b 0d 0a 0d 0a 20 (method) {....
4380: 20 20 20 69 66 20 28 74 68 69 73 2e 5f 6d 65 74 if (this._met
4390: 68 6f 64 73 42 79 4e 61 6d 65 5b 6d 65 74 68 6f hodsByName[metho
43a0: 64 2e 6e 61 6d 65 5d 29 0d 0a 20 20 20 20 20 20 d.name])..
43b0: 20 20 4d 65 73 73 61 67 65 28 27 d0 9c d0 b5 d1 Message('.....
43c0: 82 d0 be d0 b4 20 27 20 2b 20 6d 65 74 68 6f 64 ..... ' + method
43d0: 2e 6e 61 6d 65 20 2b 20 27 d1 83 d0 b6 d0 b5 20 .name + '......
43e0: d0 b1 d1 8b d0 bb 20 d0 be d0 b1 d1 8a d1 8f d0 ...... .........
43f0: b2 d0 bb d0 b5 d0 bd 20 d1 80 d0 b0 d0 bd d0 b5 ....... ........
4400: d0 b5 20 d0 b2 20 d1 8d d1 82 d0 be d0 bc 20 d0 .. .. ........ .
4410: bc d0 be d0 b4 d1 83 d0 bb d0 b5 21 27 29 3b 0d ...........!');.
4420: 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 74 . .. t
4430: 68 69 73 2e 4d 65 74 68 6f 64 73 2e 70 75 73 68 his.Methods.push
4440: 28 6d 65 74 68 6f 64 29 3b 0d 0a 20 20 20 20 74 (method);.. t
4450: 68 69 73 2e 5f 6d 65 74 68 6f 64 73 42 79 4e 61 his._methodsByNa
4460: 6d 65 5b 6d 65 74 68 6f 64 2e 4e 61 6d 65 5d 20 me[method.Name]
4470: 3d 20 6d 65 74 68 6f 64 3b 0d 0a 20 20 20 20 0d = method;.. .
4480: 0a 20 20 20 20 2f 2f 20 d0 94 d0 be d0 b1 d0 b0 . // ........
4490: d0 b2 d0 bb d1 8f d0 b5 d0 bc 20 d0 bc d0 b5 d1 .......... .....
44a0: 82 d0 be d0 b4 20 d0 b2 20 d1 82 d0 b0 d0 b1 d0 ..... .. .......
44b0: bb d0 b8 d1 86 d1 83 20 d0 b7 d0 bd d0 b0 d1 87 ....... ........
44c0: d0 b5 d0 bd d0 b8 d0 b9 2e 0d 0a 20 20 20 20 69 ........... i
44d0: 66 20 28 74 68 69 73 2e 5f 76 74 41 6c 6c 4d 65 f (this._vtAllMe
44e0: 74 68 6f 64 73 29 20 0d 0a 20 20 20 20 7b 0d 0a thods) .. {..
44f0: 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 74 68 var meth
4500: 52 6f 77 20 3d 20 74 68 69 73 2e 5f 76 74 41 6c Row = this._vtAl
4510: 6c 4d 65 74 68 6f 64 73 2e 41 64 64 28 29 3b 0d lMethods.Add();.
4520: 0a 20 20 20 20 20 20 20 20 6d 65 74 68 52 6f 77 . methRow
4530: 2e 4e 61 6d 65 20 3d 20 6d 65 74 68 6f 64 2e 4e .Name = method.N
4540: 61 6d 65 3b 0d 0a 20 20 20 20 20 20 20 20 6d 65 ame;.. me
4550: 74 68 52 6f 77 2e 49 73 50 72 6f 63 20 3d 20 6d thRow.IsProc = m
4560: 65 74 68 6f 64 2e 49 73 50 72 6f 63 3b 0d 0a 20 ethod.IsProc;..
4570: 20 20 20 20 20 20 20 6d 65 74 68 52 6f 77 2e 53 methRow.S
4580: 74 61 72 74 4c 69 6e 65 20 3d 20 6d 65 74 68 6f tartLine = metho
4590: 64 2e 53 74 61 72 74 4c 69 6e 65 3b 0d 0a 20 20 d.StartLine;..
45a0: 20 20 20 20 20 20 6d 65 74 68 52 6f 77 2e 45 6e methRow.En
45b0: 64 4c 69 6e 65 20 3d 20 6d 65 74 68 6f 64 2e 45 dLine = method.E
45c0: 6e 64 4c 69 6e 65 3b 0d 0a 20 20 20 20 20 20 20 ndLine;..
45d0: 20 6d 65 74 68 52 6f 77 2e 43 6f 6e 74 65 78 74 methRow.Context
45e0: 20 3d 20 6d 65 74 68 6f 64 2e 43 6f 6e 74 65 78 = method.Contex
45f0: 74 3b 0d 0a 20 20 20 20 20 20 20 20 6d 65 74 68 t;.. meth
4600: 52 6f 77 2e 5f 6d 65 74 68 6f 64 20 3d 20 6d 65 Row._method = me
4610: 74 68 6f 64 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d thod;.. }..}.
4620: 0a 0d 0a 5f 31 43 4d 6f 64 75 6c 65 43 6f 6e 74 ..._1CModuleCont
4630: 65 78 74 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 extDescription.p
4640: 72 6f 74 6f 74 79 70 65 2e 67 65 74 4d 65 74 68 rototype.getMeth
4650: 6f 64 42 79 4e 61 6d 65 20 3d 20 66 75 6e 63 74 odByName = funct
4660: 69 6f 6e 20 28 6e 61 6d 65 29 20 7b 0d 0a 20 20 ion (name) {..
4670: 20 20 72 65 74 75 72 6e 20 74 68 69 73 2e 5f 6d return this._m
4680: 65 74 68 6f 64 73 42 79 4e 61 6d 65 5b 6e 61 6d ethodsByName[nam
4690: 65 5d 3b 0d 0a 7d 0d 0a 0d 0a 5f 31 43 4d 6f 64 e];..}...._1CMod
46a0: 75 6c 65 43 6f 6e 74 65 78 74 44 65 73 63 72 69 uleContextDescri
46b0: 70 74 69 6f 6e 2e 70 72 6f 74 6f 74 79 70 65 2e ption.prototype.
46c0: 61 64 64 56 61 72 20 3d 20 66 75 6e 63 74 69 6f addVar = functio
46d0: 6e 20 28 6e 61 6d 65 2c 20 74 79 70 65 2c 20 61 n (name, type, a
46e0: 75 74 6f 29 20 7b 0d 0a 20 20 20 20 69 66 20 28 uto) {.. if (
46f0: 74 68 69 73 2e 5f 6d 6f 64 75 6c 65 56 61 72 73 this._moduleVars
4700: 54 79 70 65 73 5b 6e 61 6d 65 5d 20 3d 3d 3d 20 Types[name] ===
4710: 75 6e 64 65 66 69 6e 65 64 29 0d 0a 20 20 20 20 undefined)..
4720: 7b 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e {.. this.
4730: 5f 6d 6f 64 75 6c 65 56 61 72 73 54 79 70 65 73 _moduleVarsTypes
4740: 5b 6e 61 6d 65 5d 20 3d 20 28 74 79 70 65 20 3d [name] = (type =
4750: 3d 3d 20 75 6e 64 65 66 69 6e 65 64 29 20 3f 20 == undefined) ?
4760: 6e 75 6c 6c 20 3a 20 74 79 70 65 3b 0d 0a 20 20 null : type;..
4770: 20 20 20 20 20 20 74 68 69 73 2e 4d 6f 64 75 6c this.Modul
4780: 65 56 61 72 73 2e 70 75 73 68 28 6e 61 6d 65 29 eVars.push(name)
4790: 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 5f ;.. }..}...._
47a0: 31 43 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 74 44 1CModuleContextD
47b0: 65 73 63 72 69 70 74 69 6f 6e 2e 70 72 6f 74 6f escription.proto
47c0: 74 79 70 65 2e 67 65 74 56 61 72 54 79 70 65 20 type.getVarType
47d0: 3d 20 66 75 6e 63 74 69 6f 6e 20 28 6e 61 6d 65 = function (name
47e0: 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 ) {.. return
47f0: 74 68 69 73 2e 5f 6d 6f 64 75 6c 65 56 61 72 73 this._moduleVars
4800: 54 79 70 65 73 5b 6e 61 6d 65 5d 3b 0d 0a 7d 0d Types[name];..}.
4810: 0a 0d 0a 2f 2f 2f 2f 7d 20 5f 31 43 4d 6f 64 75 ...////} _1CModu
4820: 6c 65 43 6f 6e 74 65 78 74 44 65 73 63 72 69 70 leContextDescrip
4830: 74 69 6f 6e 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f tion....////////
4840: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4850: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4860: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4870: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4880: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
4890: 0d 0a 2f 2f 2f 2f 7b 20 5f 31 43 4d 65 74 68 6f ..////{ _1CMetho
48a0: 64 44 65 73 63 72 69 70 74 69 6f 6e 0d 0a 0d 0a dDescription....
48b0: 66 75 6e 63 74 69 6f 6e 20 5f 31 43 4d 65 74 68 function _1CMeth
48c0: 6f 64 44 65 73 63 72 69 70 74 69 6f 6e 28 70 61 odDescription(pa
48d0: 72 65 6e 74 4d 6f 64 75 6c 65 29 20 7b 0d 0a 20 rentModule) {..
48e0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 .. //
48f0: d0 98 d0 b4 d0 b5 d0 bd d1 82 d0 b8 d1 84 d0 b8 ................
4900: d0 ba d0 b0 d1 82 d0 be d1 80 20 28 d0 b8 d0 bc .......... (....
4910: d1 8f 29 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 ..) ............
4920: 2e 0d 0a 20 20 20 20 74 68 69 73 2e 4e 61 6d 65 ... this.Name
4930: 20 3d 20 22 22 3b 0d 0a 20 20 20 20 0d 0a 20 20 = "";.. ..
4940: 20 20 2f 2f 20 d0 a2 d0 b8 d0 bf 20 d0 bc d0 b5 // ...... ....
4950: d1 82 d0 be d0 b4 d0 b0 2e 20 d0 95 d1 81 d0 bb ......... ......
4960: d0 b8 20 d0 b8 d1 81 d1 82 d0 b8 d0 bd d0 b0 20 .. ............
4970: 2d 20 d1 82 d0 be 20 d1 8d d1 82 d0 be 20 d0 9f - .... ...... ..
4980: d1 80 d0 be d1 86 d0 b5 d0 b4 d1 83 d1 80 d0 b0 ................
4990: 2c 20 d0 b8 d0 bd d0 b0 d1 87 d0 b5 20 2d 20 d1 , .......... - .
49a0: 8d d1 82 d0 be 20 d1 84 d1 83 d0 bd d0 ba d1 86 ..... ..........
49b0: d0 b8 d1 8f 2e 0d 0a 20 20 20 20 74 68 69 73 2e ....... this.
49c0: 49 73 50 72 6f 63 20 3d 20 66 61 6c 73 65 3b 0d IsProc = false;.
49d0: 0a 0d 0a 20 20 20 20 2f 2f 20 d0 9c d0 b0 d1 81 ... // ......
49e0: d1 81 d0 b8 d0 b2 20 d0 bf d0 b0 d1 80 d0 b0 d0 ...... .........
49f0: bc d0 b5 d1 82 d1 80 d0 be d0 b2 20 d0 bc d0 b5 ........... ....
4a00: d1 82 d0 be d0 b4 d0 b0 2e 0d 0a 20 20 20 20 74 ........... t
4a10: 68 69 73 2e 50 61 72 61 6d 73 20 3d 20 6e 65 77 his.Params = new
4a20: 20 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 20 0d Array();.. .
4a30: 0a 20 20 20 20 2f 2f 20 d0 9c d0 b0 d1 81 d1 81 . // ........
4a40: d0 b8 d0 b2 20 d1 8f d0 b2 d0 bd d1 8b d0 bc 20 .... ..........
4a50: d0 be d0 b1 d1 80 d0 b0 d0 b7 d0 be d0 bc 20 d0 .............. .
4a60: be d0 b1 d1 8a d1 8f d0 b2 d0 bb d0 b5 d0 bd d0 ................
4a70: bd d1 8b d1 85 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc ..... ..........
4a80: d0 b5 d0 bd d0 bd d1 8b d1 85 2e 0d 0a 20 20 20 .............
4a90: 20 74 68 69 73 2e 44 65 63 6c 61 72 65 64 56 61 this.DeclaredVa
4aa0: 72 73 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29 rs = new Array()
4ab0: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 ;.. .. //
4ac0: d0 9c d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 b0 d0 ............ ...
4ad0: b2 d1 82 d0 be d0 bc d0 b0 d1 82 d0 b8 d1 87 d0 ................
4ae0: b5 d1 81 d0 ba d0 b8 d1 85 20 d0 bb d0 be d0 ba ......... ......
4af0: d0 b0 d0 bb d1 8c d0 bd d1 8b d1 85 20 d0 bf d0 ............ ...
4b00: b5 d1 80 d0 b5 d0 bc d0 b5 d0 bd d0 bd d1 8b d1 ................
4b10: 85 20 28 d0 bd d0 b5 20 d0 be d0 b1 d1 8a d1 8f . (.... ........
4b20: d0 b2 d0 bb d0 b5 d0 bd d0 bd d1 8b d1 85 20 d1 .............. .
4b30: 8f d0 b2 d0 bd d1 8b d0 bc 20 d0 be d0 b1 d1 80 ......... ......
4b40: d0 b0 d0 b7 d0 be d0 bc 29 2e 0d 0a 20 20 20 20 ........)...
4b50: 74 68 69 73 2e 41 75 74 6f 6d 61 74 69 63 56 61 this.AutomaticVa
4b60: 72 73 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29 rs = new Array()
4b70: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 ;.. .. //
4b80: d0 a1 d0 bf d0 b8 d1 81 d0 be d0 ba 20 d0 b2 d1 ............ ...
4b90: 8b d0 b7 d0 be d0 b2 d0 be d0 b2 3a 20 d0 bc d0 ...........: ...
4ba0: b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 bc d0 b5 d1 82 ......... ......
4bb0: d0 be d0 b4 d0 be d0 b2 2c 20 d0 b2 d1 8b d0 b7 ........, ......
4bc0: d1 8b d0 b2 d0 b0 d0 b5 d0 bc d1 8b d1 85 20 d0 .............. .
4bd0: b8 d0 b7 20 d0 b4 d0 b0 d0 bd d0 bd d0 be d0 b3 ... ............
4be0: d0 be 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e .. .............
4bf0: 0d 0a 20 20 20 20 74 68 69 73 2e 43 61 6c 6c 73 .. this.Calls
4c00: 20 3d 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0d = new Array();.
4c10: 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 9d . .. // ..
4c20: d0 be d0 bc d0 b5 d1 80 20 d1 81 d1 82 d1 80 d0 ........ .......
4c30: be d0 ba d0 b8 20 d0 be d0 b1 d1 8a d1 8f d0 b2 ..... ..........
4c40: d0 bb d0 b5 d0 bd d0 b8 d1 8f 20 d0 bc d0 b5 d1 .......... .....
4c50: 82 d0 be d0 b4 d0 b0 2e 0d 0a 20 20 20 20 74 68 .......... th
4c60: 69 73 2e 53 74 61 72 74 4c 69 6e 65 20 3d 20 30 is.StartLine = 0
4c70: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f 20 ;.. .. //
4c80: d0 9d d0 be d0 bc d0 b5 d1 80 20 d1 81 d1 82 d1 .......... .....
4c90: 80 d0 be d0 ba d0 b8 20 d0 b7 d0 b0 d0 b2 d0 b5 ....... ........
4ca0: d1 80 d1 88 d0 b5 d0 bd d0 b8 d1 8f 20 d0 be d0 ............ ...
4cb0: b1 d1 8a d1 8f d0 b2 d0 bb d0 b5 d0 bd d0 b8 d1 ................
4cc0: 8f 20 d0 bc d0 b5 d1 82 d0 be d0 b4 d0 b0 2e 0d . ..............
4cd0: 0a 20 20 20 20 74 68 69 73 2e 45 6e 64 4c 69 6e . this.EndLin
4ce0: 65 20 3d 20 30 3b 0d 0a 20 20 20 20 0d 0a 20 20 e = 0;.. ..
4cf0: 20 20 2f 2f 20 d0 90 d1 81 d1 81 d0 be d1 86 d0 // ...........
4d00: b8 d0 b0 d1 82 d0 b8 d0 b2 d0 bd d1 8b d0 b9 20 ...............
4d10: d0 bc d0 b0 d1 81 d1 81 d0 b8 d0 b2 20 d0 98 d0 ............ ...
4d20: bc d1 8f 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 ... ............
4d30: d0 bd d0 bd d0 be d0 b9 20 2d 3e 20 d0 a2 d0 b8 ........ -> ....
4d40: d0 bf 20 d0 bf d0 b5 d1 80 d0 b5 d0 bc d0 b5 d0 .. .............
4d50: bd d0 bd d0 be d0 b9 20 28 d0 bf d0 be d0 ba d0 ....... (.......
4d60: b0 20 d1 82 d0 b8 d0 bf 20 d0 b2 d1 81 d0 b5 d0 . ...... .......
4d70: b3 d0 b4 d0 b0 20 6e 75 6c 6c 29 2e 0d 0a 20 20 ..... null)...
4d80: 20 20 74 68 69 73 2e 5f 76 61 72 73 54 79 70 65 this._varsType
4d90: 73 20 3d 20 7b 7d 3b 0d 0a 20 20 20 20 0d 0a 20 s = {};.. ..
4da0: 20 20 20 2f 2f 20 d0 9a d0 be d0 bd d1 82 d0 b5 // ..........
4db0: d0 ba d1 81 d1 82 20 d0 bc d0 be d0 b4 d1 83 d0 ...... .........
4dc0: bb d1 8f 2c 20 d0 b2 20 d0 ba d0 be d1 82 d0 be ..., .. ........
4dd0: d1 80 d0 be d0 bc 20 d0 be d0 b1 d1 8a d1 8f d0 ...... .........
4de0: b2 d0 bb d0 b5 d0 bd 20 d0 b4 d0 b0 d0 bd d0 bd ....... ........
4df0: d1 8b d0 b9 20 d0 bc d0 b5 d1 82 d0 be d0 b4 20 .... ..........
4e00: 28 5f 31 43 4d 6f 64 75 6c 65 43 6f 6e 74 65 78 (_1CModuleContex
4e10: 74 44 65 73 63 72 69 70 74 69 6f 6e 29 2e 0d 0a tDescription)...
4e20: 20 20 20 20 74 68 69 73 2e 70 61 72 65 6e 74 4d this.parentM
4e30: 6f 64 75 6c 65 20 3d 20 70 61 72 65 6e 74 4d 6f odule = parentMo
4e40: 64 75 6c 65 3b 0d 0a 7d 0d 0a 0d 0a 5f 31 43 4d dule;..}...._1CM
4e50: 65 74 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e ethodDescription
4e60: 2e 70 72 6f 74 6f 74 79 70 65 2e 61 64 64 56 61 .prototype.addVa
4e70: 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 6e 61 r = function (na
4e80: 6d 65 2c 20 74 79 70 65 2c 20 61 75 74 6f 29 20 me, type, auto)
4e90: 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20 20 {.. ..
4ea0: 20 69 66 20 28 74 68 69 73 2e 5f 76 61 72 73 54 if (this._varsT
4eb0: 79 70 65 73 5b 6e 61 6d 65 5d 20 3d 3d 3d 20 75 ypes[name] === u
4ec0: 6e 64 65 66 69 6e 65 64 29 0d 0a 20 20 20 20 7b ndefined).. {
4ed0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 .. if
4ee0: 20 28 74 68 69 73 2e 50 61 72 61 6d 73 2e 69 6e (this.Params.in
4ef0: 64 65 78 4f 66 28 6e 61 6d 65 29 20 3e 3d 20 30 dexOf(name) >= 0
4f00: 29 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) ..
4f10: 72 65 74 75 72 6e 3b 0d 0a 20 20 20 20 20 20 20 return;..
4f20: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 .. i
4f30: 66 20 28 74 68 69 73 2e 70 61 72 65 6e 74 4d 6f f (this.parentMo
4f40: 64 75 6c 65 20 26 26 20 74 68 69 73 2e 70 61 72 dule && this.par
4f50: 65 6e 74 4d 6f 64 75 6c 65 2e 67 65 74 56 61 72 entModule.getVar
4f60: 54 79 70 65 28 6e 61 6d 65 29 20 21 3d 3d 20 75 Type(name) !== u
4f70: 6e 64 65 66 69 6e 65 64 29 20 0d 0a 20 20 20 20 ndefined) ..
4f80: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0d return;.
4f90: 0a 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 74 . .. t
4fa0: 68 69 73 2e 5f 76 61 72 73 54 79 70 65 73 5b 6e his._varsTypes[n
4fb0: 61 6d 65 5d 20 3d 20 28 74 79 70 65 20 3d 3d 3d ame] = (type ===
4fc0: 20 75 6e 64 65 66 69 6e 65 64 29 20 3f 20 6e 75 undefined) ? nu
4fd0: 6c 6c 20 3a 20 74 79 70 65 3b 0d 0a 20 20 20 20 ll : type;..
4fe0: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66 .. if
4ff0: 20 28 61 75 74 6f 29 0d 0a 20 20 20 20 20 20 20 (auto)..
5000: 20 20 20 20 20 74 68 69 73 2e 41 75 74 6f 6d 61 this.Automa
5010: 74 69 63 56 61 72 73 2e 70 75 73 68 28 6e 61 6d ticVars.push(nam
5020: 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 65 6c 73 e);.. els
5030: 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 e.. t
5040: 68 69 73 2e 44 65 63 6c 61 72 65 64 56 61 72 73 his.DeclaredVars
5050: 2e 70 75 73 68 28 6e 61 6d 65 29 3b 0d 0a 20 20 .push(name);..
5060: 20 20 7d 0d 0a 7d 0d 0a 0d 0a 5f 31 43 4d 65 74 }..}...._1CMet
5070: 68 6f 64 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 hodDescription.p
5080: 72 6f 74 6f 74 79 70 65 2e 67 65 74 56 61 72 54 rototype.getVarT
5090: 79 70 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 ype = function (
50a0: 6e 61 6d 65 29 20 7b 0d 0a 20 20 20 20 72 65 74 name) {.. ret
50b0: 75 72 6e 20 74 68 69 73 2e 5f 76 61 72 73 54 79 urn this._varsTy
50c0: 70 65 73 5b 6e 61 6d 65 5d 3b 0d 0a 7d 0d 0a 0d pes[name];..}...
50d0: 0a 0d 0a 2f 2f 2f 2f 7d 20 5f 31 43 4d 65 74 68 ...////} _1CMeth
50e0: 6f 64 44 65 73 63 72 69 70 74 69 6f 6e 0d 0a 0d odDescription...
50f0: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .///////////////
5100: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5110: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5120: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5130: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
5140: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 2f 2f 7b /////////..////{
5150: 20 d0 92 d1 81 d0 bf d0 be d0 bc d0 be d0 b3 d0 ...............
5160: b0 d1 82 d0 b5 d0 bb d1 8c d0 bd d1 8b d0 b5 20 ...............
5170: d1 84 d1 83 d0 bd d0 ba d1 86 d0 b8 d0 b8 20 d0 .............. .
5180: be d0 b1 d1 8a d0 b5 d0 ba d1 82 d0 b0 20 41 72 ............. Ar
5190: 72 61 79 0d 0a 69 66 28 21 41 72 72 61 79 2e 70 ray..if(!Array.p
51a0: 72 6f 74 6f 74 79 70 65 2e 69 6e 64 65 78 4f 66 rototype.indexOf
51b0: 29 20 7b 0d 0a 20 20 20 20 41 72 72 61 79 2e 70 ) {.. Array.p
51c0: 72 6f 74 6f 74 79 70 65 2e 69 6e 64 65 78 4f 66 rototype.indexOf
51d0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 65 61 72 = function(sear
51e0: 63 68 45 6c 65 6d 65 6e 74 2c 20 66 72 6f 6d 49 chElement, fromI
51f0: 6e 64 65 78 29 20 7b 0d 0a 20 20 20 20 20 20 20 ndex) {..
5200: 20 66 6f 72 28 76 61 72 20 69 20 3d 20 66 72 6f for(var i = fro
5210: 6d 49 6e 64 65 78 7c 7c 30 2c 20 6c 65 6e 67 74 mIndex||0, lengt
5220: 68 20 3d 20 74 68 69 73 2e 6c 65 6e 67 74 68 3b h = this.length;
5230: 20 69 3c 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 0d i<length; i++).
5240: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 . if(
5250: 74 68 69 73 5b 69 5d 20 3d 3d 3d 20 73 65 61 72 this[i] === sear
5260: 63 68 45 6c 65 6d 65 6e 74 29 20 72 65 74 75 72 chElement) retur
5270: 6e 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 72 65 n i;.. re
5280: 74 75 72 6e 20 2d 31 0d 0a 20 20 20 20 7d 3b 0d turn -1.. };.
5290: 0a 7d 3b 0d 0a 2f 2f 2f 2f 7d 20 d0 92 d1 81 d0 .};..////} .....
52a0: bf d0 be d0 bc d0 be d0 b3 d0 b0 d1 82 d0 b5 d0 ................
52b0: bb d1 8c d0 bd d1 8b d0 b5 20 d1 84 d1 83 d0 bd ......... ......
52c0: d0 ba d1 86 d0 b8 d0 b8 20 d0 be d0 b1 d1 8a d0 ........ .......
52d0: b5 d0 ba d1 82 d0 b0 20 41 72 72 61 79 ....... Array