home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-03 | 276.0 KB | 6,042 lines |
-
- -------- SIMTEL20 Ada Software Repository Prologue ------------
- -- -*
- -- Unit name : Standards Checker
- -- Version : 1.0
- -- Contact : Lt. Colonel Falgiano
- -- : ESD/SCW
- -- : Hanscom AFB, MA 01731
- -- Author : Bill Toscano, Michael Gordon
- -- : Intermetrics, Inc,
- -- : 733 Concord Ave
- -- : Cambridge, MA 02138
- -- DDN Address :
- -- Copyright : (c) 1985 Intermetrics, Inc.
- -- Date created : 15 October 1985
- -- Release date : 18 March 1985
- -- Last update : 17 March 1985
- -- -*
- ---------------------------------------------------------------
- -- -*
- -- Keywords :
- ----------------:
- --
- -- Abstract : The Standards Checker checks a source file to see that it
- ----------------: conforms to local programming standards. These standards
- ----------------: include maximum number of lines per program unit, maximum
- ----------------: number of arguments to a subprogram, use of pragmas, use of
- ----------------: rep specs, use of named literals, naming of types and
- ----------------: variables, etc. An annotated listing is output showing
- ----------------: any misuse of these language constructs.
- ----------------:
- ----------------: This tool was developed as a precursor for
- ----------------: the WMCCS Information System (WIS). An
- ----------------: executable version of the tool has been
- ----------------: demonstrated. This source code has sub-
- ----------------: sequently been recompiled but has not under-
- ----------------: gone extensive testing.
- ----------------:
- -- -*
- ------------------ Revision history ---------------------------
- -- -*
- -- DATE VERSION AUTHOR HISTORY
- -- 03/85 1.0 Bill Toscano Initial Release
- -- -*
- ------------------ Distribution and Copyright -----------------
- -- -*
- -- This prologue must be included in all copies of this software.
- --
- -- This software is copyright by the author.
- --
- -- This software is released to the Ada community.
- -- This software is released to the Public Domain (note:
- -- software released to the Public Domain is not subject
- -- to copyright protection).
- -- Restrictions on use or distribution: NONE
- -- -*
- ----------------- Disclaimer ----------------------------------
- -- -*
- -- This software and its documentation are provided "AS IS" and
- -- without any expressed or implied warranties whatsoever.
- --
- -- No warranties as to performance, merchantability, or fitness
- -- for a particular purpose exist.
- --
- -- Because of the diversity of conditions and hardware under
- -- which this software may be used, no warranty of fitness for
- -- a particular purpose is offered. The user is advised to
- -- test the software thoroughly before relying on it. The user
- -- must assume the entire risk and liability of using this
- -- software.
- --
- -- In no event shall any person or organization of people be
- -- held responsible for any direct, indirect, consequential
- -- or inconsequential damages or lost profits.
- -- -*
- ----------------- END-PROLOGUE -------------------------------
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --GRMCONST.BDY
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --+ GRMCONST.BDY +--
-
- Package body Grammar_Constants is
-
- function setGrammarSymbolCount return ParserInteger is
- begin
- return 332 ;
- end setGrammarSymbolCount;
-
- function setActionCount return ParserInteger is
- begin
- return 1440 ;
- end setActionCount;
-
- function setStateCountPlusOne return ParserInteger is
- begin
- return 950 ;
- end setStateCountPlusOne;
-
- function setLeftHandSideCount return ParserInteger is
- begin
- return 488 ;
- end setLeftHandSideCount;
-
- function setRightHandSideCount return ParserInteger is
- begin
- return 488 ;
- end setRightHandSideCount;
-
- end Grammar_Constants;
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --PTBLS.BDY
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --+ PTBLS.BDY +--
-
- package body ParseTables is
- ----------------------------------------------------------------------
- -- The rest of the constants used to define the Parse Tables
- ----------------------------------------------------------------------
-
- DefaultValue : constant := 1 ; -- default for aggregates.
-
- ActionTableOneLength : constant GC.ParserInteger :=
- 8217 ;
- --| Length (number of entries) in map ActionTableOne.
- subtype ActionTableOneRange is GC.ParserInteger
- range 1..ActionTableOneLength;
-
- ActionTableTwoLength : constant GC.ParserInteger :=
- 8217 ;
- --| Length (number of entries) in map ActionTableTwo.
- subtype ActionTableTwoRange is GC.ParserInteger
- range 1..ActionTableTwoLength;
-
- DefaultMapLength : constant GC.ParserInteger :=
- 949 ;
- --| Length (number of entries) in map Defaults.
- subtype DefaultMapRange is GC.ParserInteger range 1..DefaultMapLength;
-
- FollowMapLength : constant GC.ParserInteger :=
- 236 ;
- --| Length (number of entries) in the FollowMap.
-
- GrammarSymbolCountPlusOne : constant GC.ParserInteger :=
- 333 ;
- --| Number of symbols plus one in the parse tables.
- -- NYU Reference Name: NUM_INPUTS
-
- ActionTableSize : constant GC.ParserInteger :=
- 5531 ;
- --| Maximum entry in Action Tables referenced by hash
- --| function. Entries above TableSize are collision chains.
- -- NYU Reference Name: TABLE_SIZE
-
- ------------------------------------------------------------------
- -- Tables generated by Parse Tables Generator
- ------------------------------------------------------------------
-
- subtype GrammarSymbolRepRangePlusZero is
- GrammarSymbolRepRangePlusZeroCommon;
-
- GrammarSymbolTableIndex : constant
- array (GrammarSymbolRange'first .. GrammarSymbolRange'last * 2)
- of GC.ParserInteger :=
- ( 1, 0, 1, 5, 6, 8, 9, 14, 15, 20
- , 21, 23, 24, 26, 27, 31, 32, 33, 34, 38
- , 39, 42, 43, 46, 47, 54, 55, 61, 62, 66
- , 67, 71, 72, 77, 78, 79, 80, 83, 84, 88
- , 89, 91, 92, 96, 97, 105, 106, 109, 110, 112
- , 113, 120, 121, 127, 128, 131, 132, 133, 134, 135
- , 136, 137, 138, 144, 145, 148, 149, 151, 152, 154
- , 155, 157, 158, 161, 162, 163, 164, 165, 166, 171
- , 172, 174, 175, 181, 182, 187, 188, 194, 195, 203
- , 204, 208, 209, 213, 214, 219, 220, 222, 223, 229
- , 230, 235, 236, 242, 243, 248, 249, 256, 257, 263
- , 264, 267, 268, 276, 277, 280, 281, 284, 285, 287
- , 288, 291, 292, 296, 297, 300, 301, 303, 304, 313
- , 314, 328, 329, 342, 343, 359, 360, 360, 361, 361
- , 362, 362, 363, 363, 364, 364, 365, 365, 366, 366
- , 367, 367, 368, 368, 369, 369, 370, 370, 371, 371
- , 372, 372, 373, 373, 374, 374, 375, 377, 378, 379
- , 380, 381, 382, 383, 384, 385, 386, 387, 388, 389
- , 390, 391, 392, 393, 394, 395, 396, 397, 398, 412
- , 413, 416, 417, 420, 421, 431, 432, 448, 449, 478
- , 479, 484, 485, 502, 503, 519, 520, 537, 538, 553
- , 554, 572, 573, 594, 595, 613, 614, 629, 630, 648
- , 649, 669, 670, 690, 691, 710, 711, 721, 722, 736
- , 737, 754, 755, 768, 769, 796, 797, 806, 807, 819
- , 820, 840, 841, 867, 868, 891, 892, 906, 907, 925
- , 926, 951, 952, 980, 981, 995, 996, 1022, 1023, 1045
- , 1046, 1065, 1066, 1086, 1087, 1108, 1109, 1130, 1131, 1153
- , 1154, 1175, 1176, 1184, 1185, 1194, 1195, 1216, 1217, 1232
- , 1233, 1257, 1258, 1279, 1280, 1296, 1297, 1329, 1330, 1365
- , 1366, 1384, 1385, 1412, 1413, 1430, 1431, 1455, 1456, 1485
- , 1486, 1509, 1510, 1536, 1537, 1552, 1553, 1556, 1557, 1570
- , 1571, 1587, 1588, 1592, 1593, 1606, 1607, 1619, 1620, 1642
- , 1643, 1663, 1664, 1675, 1676, 1689, 1690, 1705, 1706, 1712
- , 1713, 1721, 1722, 1727, 1728, 1736, 1737, 1760, 1761, 1776
- , 1777, 1780, 1781, 1804, 1805, 1826, 1827, 1847, 1848, 1857
- , 1858, 1879, 1880, 1890, 1891, 1899, 1900, 1914, 1915, 1926
- , 1927, 1935, 1936, 1952, 1953, 1970, 1971, 1979, 1980, 1987
- , 1988, 2007, 2008, 2029, 2030, 2038, 2039, 2072, 2073, 2093
- , 2094, 2120, 2121, 2150, 2151, 2168, 2169, 2197, 2198, 2232
- , 2233, 2270, 2271, 2278, 2279, 2301, 2302, 2323, 2324, 2346
- , 2347, 2375, 2376, 2403, 2404, 2443, 2444, 2450, 2451, 2507
- , 2508, 2543, 2544, 2547, 2548, 2554, 2555, 2588, 2589, 2594
- , 2595, 2624, 2625, 2648, 2649, 2657, 2658, 2677, 2678, 2696
- , 2697, 2718, 2719, 2739, 2740, 2759, 2760, 2782, 2783, 2795
- , 2796, 2807, 2808, 2816, 2817, 2827, 2828, 2849, 2850, 2865
- , 2866, 2883, 2884, 2891, 2892, 2905, 2906, 2925, 2926, 2939
- , 2940, 2955, 2956, 2969, 2970, 2984, 2985, 2999, 3000, 3014
- , 3015, 3028, 3029, 3042, 3043, 3054, 3055, 3068, 3069, 3082
- , 3083, 3097, 3098, 3113, 3114, 3129, 3130, 3134, 3135, 3172
- , 3173, 3220, 3221, 3250, 3251, 3259, 3260, 3271, 3272, 3297
- , 3298, 3325, 3326, 3343, 3344, 3355, 3356, 3369, 3370, 3384
- , 3385, 3417, 3418, 3437, 3438, 3473, 3474, 3492, 3493, 3504
- , 3505, 3513, 3514, 3522, 3523, 3546, 3547, 3567, 3568, 3590
- , 3591, 3616, 3617, 3626, 3627, 3630, 3631, 3652, 3653, 3672
- , 3673, 3692, 3693, 3708, 3709, 3729, 3730, 3747, 3748, 3759
- , 3760, 3781, 3782, 3797, 3798, 3815, 3816, 3830, 3831, 3849
- , 3850, 3872, 3873, 3891, 3892, 3922, 3923, 3939, 3940, 3966
- , 3967, 3980, 3981, 4002, 4003, 4018, 4019, 4036, 4037, 4060
- , 4061, 4086, 4087, 4104, 4105, 4121, 4122, 4142, 4143, 4166
- , 4167, 4173, 4174, 4191, 4192, 4204, 4205, 4220, 4221, 4234
- , 4235, 4259, 4260, 4266, 4267, 4291, 4292, 4309, 4310, 4320
- , 4321, 4336, 4337, 4355, 4356, 4372, 4373, 4393, 4394, 4412
- , 4413, 4443, 4444, 4472, 4473, 4495, 4496, 4513, 4514, 4532
- , 4533, 4554, 4555, 4606, 4607, 4630, 4631, 4654, 4655, 4673
- , 4674, 4686, 4687, 4719, 4720, 4733, 4734, 4761, 4762, 4779
- , 4780, 4795, 4796, 4811, 4812, 4820, 4821, 4833, 4834, 4846
- , 4847, 4868, 4869, 4883) ;
-
- GrammarSymbolTable : constant String :=
- ('A','B','O','R','T','A','B','S','A','C'
- ,'C','E','P','T','A','C','C','E','S','S'
- ,'A','L','L','A','N','D','A','R','R','A'
- ,'Y','A','T','B','E','G','I','N','B','O'
- ,'D','Y','C','A','S','E','C','O','N','S'
- ,'T','A','N','T','D','E','C','L','A','R'
- ,'E','D','E','L','A','Y','D','E','L','T'
- ,'A','D','I','G','I','T','S','D','O','E'
- ,'L','S','E','E','L','S','I','F','E','N'
- ,'D','E','N','T','R','Y','E','X','C','E'
- ,'P','T','I','O','N','E','X','I','T','F'
- ,'O','R','F','U','N','C','T','I','O','N'
- ,'G','E','N','E','R','I','C','G','O','T'
- ,'O','I','F','I','N','I','S','L','I','M'
- ,'I','T','E','D','L','O','O','P','M','O'
- ,'D','N','E','W','N','O','T','N','U','L'
- ,'L','O','F','O','R','O','T','H','E','R'
- ,'S','O','U','T','P','A','C','K','A','G'
- ,'E','P','R','A','G','M','A','P','R','I'
- ,'V','A','T','E','P','R','O','C','E','D'
- ,'U','R','E','R','A','I','S','E','R','A'
- ,'N','G','E','R','E','C','O','R','D','R'
- ,'E','M','R','E','N','A','M','E','S','R'
- ,'E','T','U','R','N','R','E','V','E','R'
- ,'S','E','S','E','L','E','C','T','S','E'
- ,'P','A','R','A','T','E','S','U','B','T'
- ,'Y','P','E','T','A','S','K','T','E','R'
- ,'M','I','N','A','T','E','T','H','E','N'
- ,'T','Y','P','E','U','S','E','W','H','E'
- ,'N','W','H','I','L','E','W','I','T','H'
- ,'X','O','R','i','d','e','n','t','i','f'
- ,'i','e','r','n','u','m','e','r','i','c'
- ,'_','l','i','t','e','r','a','l','s','t'
- ,'r','i','n','g','_','l','i','t','e','r'
- ,'a','l','c','h','a','r','a','c','t','e'
- ,'r','_','l','i','t','e','r','a','l','&'
- ,''','(',')','*','+',',','-','.','/',':'
- ,';','<','=','>',''','|',''','=','>','.'
- ,'.','*','*',':','=','/','=','>','=','<'
- ,'=','<','<','>','>','<','>','c','o','m'
- ,'m','e','n','t','_','l','i','t','e','r'
- ,'a','l','$','E','O','F','$','A','C','C'
- ,'c','o','m','p','i','l','a','t','i','o'
- ,'n','p','r','a','g','m','a','_','i','d'
- ,'e','n','t','i','f','i','e','r','g','e'
- ,'n','e','r','a','l','_','c','o','m','p'
- ,'o','n','e','n','t','_','a','s','s','o'
- ,'c','i','a','t','i','o','n','s','p','r'
- ,'a','g','m','a','o','b','j','e','c','t'
- ,'_','d','e','c','l','a','r','a','t','i'
- ,'o','n','b','a','s','i','c','_','d','e'
- ,'c','l','a','r','a','t','i','o','n','n'
- ,'u','m','b','e','r','_','d','e','c','l'
- ,'a','r','a','t','i','o','n','t','y','p'
- ,'e','_','d','e','c','l','a','r','a','t'
- ,'i','o','n','s','u','b','t','y','p','e'
- ,'_','d','e','c','l','a','r','a','t','i'
- ,'o','n','s','u','b','p','r','o','g','r'
- ,'a','m','_','d','e','c','l','a','r','a'
- ,'t','i','o','n','p','a','c','k','a','g'
- ,'e','_','d','e','c','l','a','r','a','t'
- ,'i','o','n','t','a','s','k','_','d','e'
- ,'c','l','a','r','a','t','i','o','n','g'
- ,'e','n','e','r','i','c','_','d','e','c'
- ,'l','a','r','a','t','i','o','n','e','x'
- ,'c','e','p','t','i','o','n','_','d','e'
- ,'c','l','a','r','a','t','i','o','n','g'
- ,'e','n','e','r','i','c','_','i','n','s'
- ,'t','a','n','t','i','a','t','i','o','n'
- ,'r','e','n','a','m','i','n','g','_','d'
- ,'e','c','l','a','r','a','t','i','o','n'
- ,'o','b','j','e','c','t','_','i','t','e'
- ,'m','i','d','e','n','t','i','f','i','e'
- ,'r','_','l','i','s','t','s','u','b','t'
- ,'y','p','e','_','i','n','d','i','c','a'
- ,'t','i','o','n','[',':','=','e','x','p'
- ,'r','e','s','s','i','o','n',']','c','o'
- ,'n','s','t','r','a','i','n','e','d','_'
- ,'a','r','r','a','y','_','d','e','f','i'
- ,'n','i','t','i','o','n','e','x','p','r'
- ,'e','s','s','i','o','n','{',',','i','d'
- ,'e','n','t','i','f','i','e','r','}','f'
- ,'u','l','l','_','t','y','p','e','_','d'
- ,'e','c','l','a','r','a','t','i','o','n'
- ,'i','n','c','o','m','p','l','e','t','e'
- ,'_','t','y','p','e','_','d','e','c','l'
- ,'a','r','a','t','i','o','n','p','r','i'
- ,'v','a','t','e','_','t','y','p','e','_'
- ,'d','e','c','l','a','r','a','t','i','o'
- ,'n','t','y','p','e','_','i','d','e','n'
- ,'t','i','f','i','e','r','i','s','_','_'
- ,'t','y','p','e','_','d','e','f','i','n'
- ,'i','t','i','o','n','d','i','s','c','r'
- ,'i','m','i','n','a','n','t','_','s','p'
- ,'e','c','i','f','i','c','a','t','i','o'
- ,'n','{',';','d','i','s','c','r','i','m'
- ,'i','n','a','n','t','_','s','p','e','c'
- ,'i','f','i','c','a','t','i','o','n','}'
- ,'t','y','p','e','_','d','e','f','i','n'
- ,'i','t','i','o','n','e','n','u','m','e'
- ,'r','a','t','i','o','n','_','t','y','p'
- ,'e','_','d','e','f','i','n','i','t','i'
- ,'o','n','i','n','t','e','g','e','r','_'
- ,'t','y','p','e','_','d','e','f','i','n'
- ,'i','t','i','o','n','r','e','a','l','_'
- ,'t','y','p','e','_','d','e','f','i','n'
- ,'i','t','i','o','n','a','r','r','a','y'
- ,'_','t','y','p','e','_','d','e','f','i'
- ,'n','i','t','i','o','n','r','e','c','o'
- ,'r','d','_','t','y','p','e','_','d','e'
- ,'f','i','n','i','t','i','o','n','a','c'
- ,'c','e','s','s','_','t','y','p','e','_'
- ,'d','e','f','i','n','i','t','i','o','n'
- ,'d','e','r','i','v','e','d','_','t','y'
- ,'p','e','_','d','e','f','i','n','i','t'
- ,'i','o','n','i','s','_','_','s','u','b'
- ,'t','y','p','e','_','i','n','d','i','c'
- ,'a','t','i','o','n','t','y','p','e','_'
- ,'m','a','r','k','c','o','n','s','t','r'
- ,'a','i','n','t','t','y','p','e','_','n'
- ,'a','m','e','|','s','u','b','t','y','p'
- ,'e','_','n','a','m','e','r','a','n','g'
- ,'e','_','c','o','n','s','t','r','a','i'
- ,'n','t','f','l','o','a','t','i','n','g'
- ,'_','p','o','i','n','t','_','c','o','n'
- ,'s','t','r','a','i','n','t','f','i','x'
- ,'e','d','_','p','o','i','n','t','_','c'
- ,'o','n','s','t','r','a','i','n','t','s'
- ,'i','m','p','l','e','_','e','x','p','r'
- ,'e','s','s','i','o','n','e','n','u','m'
- ,'e','r','a','t','i','o','n','_','l','i'
- ,'t','e','r','a','l','_','s','p','e','c'
- ,'i','f','i','c','a','t','i','o','n','{'
- ,',','e','n','u','m','e','r','a','t','i'
- ,'o','n','_','l','i','t','e','r','a','l'
- ,'_','s','p','e','c','i','f','i','c','a'
- ,'t','i','o','n','}','e','n','u','m','e'
- ,'r','a','t','i','o','n','_','l','i','t'
- ,'e','r','a','l','f','l','o','a','t','i'
- ,'n','g','_','a','c','c','u','r','a','c'
- ,'y','_','d','e','f','i','n','i','t','i'
- ,'o','n','[','r','a','n','g','e','_','c'
- ,'o','n','s','t','r','a','i','n','t',']'
- ,'f','i','x','e','d','_','a','c','c','u'
- ,'r','a','c','y','_','d','e','f','i','n'
- ,'i','t','i','o','n','u','n','c','o','n'
- ,'s','t','r','a','i','n','e','d','_','a'
- ,'r','r','a','y','_','d','e','f','i','n'
- ,'i','t','i','o','n','i','n','d','e','x'
- ,'_','s','u','b','t','y','p','e','_','d'
- ,'e','f','i','n','i','t','i','o','n','{'
- ,',','i','n','d','e','x','_','s','u','b'
- ,'t','y','p','e','_','d','e','f','i','n'
- ,'i','t','i','o','n','}','i','n','d','e'
- ,'x','_','c','o','n','s','t','r','a','i'
- ,'n','t','n','a','m','e','d','i','s','c'
- ,'r','e','t','e','_','r','a','n','g','e'
- ,'{',',','d','i','s','c','r','e','t','e'
- ,'_','r','a','n','g','e','}','r','a','n'
- ,'g','e','c','o','m','p','o','n','e','n'
- ,'t','_','l','i','s','t','{','p','r','a'
- ,'g','m','a','_','d','e','c','l','}','{'
- ,'c','o','m','p','o','n','e','n','t','_'
- ,'d','e','c','l','a','r','a','t','i','o'
- ,'n','}','c','o','m','p','o','n','e','n'
- ,'t','_','d','e','c','l','a','r','a','t'
- ,'i','o','n','v','a','r','i','a','n','t'
- ,'_','p','a','r','t','c','o','m','p','o'
- ,'n','e','n','t','_','i','t','e','m','{'
- ,'p','r','a','g','m','a','_','v','a','r'
- ,'i','a','n','t','}','v','a','r','i','a'
- ,'n','t','{','v','a','r','i','a','n','t'
- ,'}','c','h','o','i','c','e','{','|','c'
- ,'h','o','i','c','e','}','{','b','a','s'
- ,'i','c','_','d','e','c','l','a','r','a'
- ,'t','i','v','e','_','i','t','e','m','}'
- ,'d','e','c','l','a','r','a','t','i','v'
- ,'e','_','p','a','r','t','b','o','d','y'
- ,'{','l','a','t','e','r','_','d','e','c'
- ,'l','a','r','a','t','i','v','e','_','i'
- ,'t','e','m','}','b','a','s','i','c','_'
- ,'d','e','c','l','a','r','a','t','i','v'
- ,'e','_','i','t','e','m','r','e','p','r'
- ,'e','s','e','n','t','a','t','i','o','n'
- ,'_','c','l','a','u','s','e','u','s','e'
- ,'_','c','l','a','u','s','e','l','a','t'
- ,'e','r','_','d','e','c','l','a','r','a'
- ,'t','i','v','e','_','i','t','e','m','p'
- ,'r','o','p','e','r','_','b','o','d','y'
- ,'b','o','d','y','_','s','t','u','b','s'
- ,'u','b','p','r','o','g','r','a','m','_'
- ,'b','o','d','y','p','a','c','k','a','g'
- ,'e','_','b','o','d','y','t','a','s','k'
- ,'_','b','o','d','y','i','n','d','e','x'
- ,'e','d','_','c','o','m','p','o','n','e'
- ,'n','t','s','e','l','e','c','t','e','d'
- ,'_','c','o','m','p','o','n','e','n','t'
- ,'a','t','t','r','i','b','u','t','e','s'
- ,'e','l','e','c','t','o','r','a','t','t'
- ,'r','i','b','u','t','e','_','d','e','s'
- ,'i','g','n','a','t','o','r','c','o','m'
- ,'p','o','n','e','n','t','_','a','s','s'
- ,'o','c','i','a','t','i','o','n','s','a'
- ,'g','g','r','e','g','a','t','e','e','x'
- ,'p','r','e','s','s','i','o','n',',','e'
- ,'x','p','r','e','s','s','i','o','n','{'
- ,',','e','x','p','r','e','s','s','i','o'
- ,'n','}','[',',','o','t','h','e','r','s'
- ,'=','>','e','x','p','r','e','s','s','i'
- ,'o','n',']','c','h','o','i','c','e','{'
- ,'|','c','h','o','i','c','e','}','=','>'
- ,'e','x','p','r','e','s','s','i','o','n'
- ,'{',',','c','h','o','i','c','e','{','|'
- ,'c','h','o','i','c','e','}','=','>','e'
- ,'x','p','r','e','s','s','i','o','n','}'
- ,'o','t','h','e','r','s','=','>','e','x'
- ,'p','r','e','s','s','i','o','n','g','a'
- ,'_','e','x','p','r','e','s','s','i','o'
- ,'n','{',',','g','a','_','e','x','p','r'
- ,'e','s','s','i','o','n','}','i','d','e'
- ,'n','t','i','f','i','e','r','{','|','i'
- ,'d','e','n','t','i','f','i','e','r','}'
- ,'=','>','e','x','p','r','e','s','s','i'
- ,'o','n','{',',','i','d','e','n','t','i'
- ,'f','i','e','r','{','|','i','d','e','n'
- ,'t','i','f','i','e','r','}','=','>','e'
- ,'x','p','r','e','s','s','i','o','n','}'
- ,'r','e','l','a','t','i','o','n','r','e'
- ,'l','a','t','i','o','n','{','A','N','D'
- ,'_','_','r','e','l','a','t','i','o','n'
- ,'}','r','e','l','a','t','i','o','n','{'
- ,'O','R','_','_','r','e','l','a','t','i'
- ,'o','n','}','r','e','l','a','t','i','o'
- ,'n','{','X','O','R','_','_','r','e','l'
- ,'a','t','i','o','n','}','r','e','l','a'
- ,'t','i','o','n','{','A','N','D','_','_'
- ,'T','H','E','N','_','_','r','e','l','a'
- ,'t','i','o','n','}','r','e','l','a','t'
- ,'i','o','n','{','O','R','_','_','E','L'
- ,'S','E','_','_','r','e','l','a','t','i'
- ,'o','n','}','[','r','e','l','a','t','i'
- ,'o','n','a','l','_','o','p','e','r','a'
- ,'t','o','r','_','_','s','i','m','p','l'
- ,'e','_','e','x','p','r','e','s','s','i'
- ,'o','n',']','[','N','O','T',']','I','N'
- ,'[','u','n','a','r','y','_','a','d','d'
- ,'i','n','g','_','o','p','e','r','a','t'
- ,'o','r',']','t','e','r','m','{','b','i'
- ,'n','a','r','y','_','a','d','d','i','n'
- ,'g','_','o','p','e','r','a','t','o','r'
- ,'_','_','t','e','r','m','}','f','a','c'
- ,'t','o','r','{','m','u','l','t','i','p'
- ,'l','y','i','n','g','_','o','p','e','r'
- ,'a','t','o','r','_','_','f','a','c','t'
- ,'o','r','}','t','e','r','m','p','r','i'
- ,'m','a','r','y','[','e','x','p','o','n'
- ,'e','n','t','i','a','t','i','n','g','_'
- ,'o','p','e','r','a','t','o','r','_','_'
- ,'p','r','i','m','a','r','y',']','f','a'
- ,'c','t','o','r','h','i','g','h','_','p'
- ,'r','e','c','e','d','e','n','c','e','_'
- ,'u','n','a','r','y','_','o','p','e','r'
- ,'a','t','o','r','p','a','r','e','n','t'
- ,'h','e','s','i','z','e','d','_','e','x'
- ,'p','r','e','s','s','i','o','n','a','l'
- ,'l','o','c','a','t','o','r','q','u','a'
- ,'l','i','f','i','e','d','_','e','x','p'
- ,'r','e','s','s','i','o','n','r','e','l'
- ,'a','t','i','o','n','a','l','_','o','p'
- ,'e','r','a','t','o','r','b','i','n','a'
- ,'r','y','_','a','d','d','i','n','g','_'
- ,'o','p','e','r','a','t','o','r','u','n'
- ,'a','r','y','_','a','d','d','i','n','g'
- ,'_','o','p','e','r','a','t','o','r','m'
- ,'u','l','t','i','p','l','y','i','n','g'
- ,'_','o','p','e','r','a','t','o','r','e'
- ,'x','p','o','n','e','n','t','i','a','t'
- ,'i','n','g','_','o','p','e','r','a','t'
- ,'o','r','e','x','p','a','n','d','e','d'
- ,'_','n','a','m','e','{','p','r','a','g'
- ,'m','a','_','s','t','m','}','s','t','a'
- ,'t','e','m','e','n','t','{','s','t','a'
- ,'t','e','m','e','n','t','}','s','e','q'
- ,'u','e','n','c','e','_','o','f','_','s'
- ,'t','a','t','e','m','e','n','t','s','s'
- ,'i','m','p','l','e','_','s','t','a','t'
- ,'e','m','e','n','t','c','o','m','p','o'
- ,'u','n','d','_','s','t','a','t','e','m'
- ,'e','n','t','{','l','a','b','e','l','}'
- ,'+','n','u','l','l','_','s','t','a','t'
- ,'e','m','e','n','t','a','s','s','i','g'
- ,'n','m','e','n','t','_','s','t','a','t'
- ,'e','m','e','n','t','e','x','i','t','_'
- ,'s','t','a','t','e','m','e','n','t','r'
- ,'e','t','u','r','n','_','s','t','a','t'
- ,'e','m','e','n','t','g','o','t','o','_'
- ,'s','t','a','t','e','m','e','n','t','d'
- ,'e','l','a','y','_','s','t','a','t','e'
- ,'m','e','n','t','a','b','o','r','t','_'
- ,'s','t','a','t','e','m','e','n','t','r'
- ,'a','i','s','e','_','s','t','a','t','e'
- ,'m','e','n','t','c','o','d','e','_','s'
- ,'t','a','t','e','m','e','n','t','c','a'
- ,'l','l','_','s','t','a','t','e','m','e'
- ,'n','t','i','f','_','s','t','a','t','e'
- ,'m','e','n','t','c','a','s','e','_','s'
- ,'t','a','t','e','m','e','n','t','l','o'
- ,'o','p','_','s','t','a','t','e','m','e'
- ,'n','t','b','l','o','c','k','_','s','t'
- ,'a','t','e','m','e','n','t','a','c','c'
- ,'e','p','t','_','s','t','a','t','e','m'
- ,'e','n','t','s','e','l','e','c','t','_'
- ,'s','t','a','t','e','m','e','n','t','l'
- ,'a','b','e','l','c','o','n','d','i','t'
- ,'i','o','n','_','T','H','E','N','_','_'
- ,'s','e','q','u','e','n','c','e','_','o'
- ,'f','_','s','t','a','t','e','m','e','n'
- ,'t','s','{','E','L','S','I','F','_','_'
- ,'c','o','n','d','i','t','i','o','n','_'
- ,'_','T','H','E','N','_','_','s','e','q'
- ,'u','e','n','c','e','_','o','f','_','s'
- ,'t','a','t','e','m','e','n','t','s','}'
- ,'[','E','L','S','E','_','_','s','e','q'
- ,'u','e','n','c','e','_','o','f','_','s'
- ,'t','a','t','e','m','e','n','t','s',']'
- ,'c','o','n','d','i','t','i','o','n','{'
- ,'p','r','a','g','m','a','_','a','l','t'
- ,'}','c','a','s','e','_','s','t','a','t'
- ,'e','m','e','n','t','_','a','l','t','e'
- ,'r','n','a','t','i','v','e','{','c','a'
- ,'s','e','_','s','t','a','t','e','m','e'
- ,'n','t','_','a','l','t','e','r','n','a'
- ,'t','i','v','e','}','[','l','o','o','p'
- ,'_','i','d','e','n','t','i','f','i','e'
- ,'r',':',']','[','i','d','e','n','t','i'
- ,'f','i','e','r',']','i','t','e','r','a'
- ,'t','i','o','n','_','r','u','l','e','b'
- ,'e','g','i','n','_','e','n','d','_','b'
- ,'l','o','c','k','d','e','c','l','a','r'
- ,'a','t','i','v','e','_','p','a','r','t'
- ,'_','_','b','e','g','i','n','_','e','n'
- ,'d','_','b','l','o','c','k','b','e','g'
- ,'i','n','_','e','n','d','_','b','l','o'
- ,'c','k','_','h','e','a','d','{','p','r'
- ,'a','g','m','a','_','a','l','t','}','_'
- ,'_','e','x','c','e','p','t','i','o','n'
- ,'_','h','a','n','d','l','e','r','_','l'
- ,'i','s','t','[','b','l','o','c','k','_'
- ,'i','d','e','n','t','i','f','i','e','r'
- ,':',']','d','e','c','l','a','r','e','_'
- ,'i','t','e','m','e','x','i','t','_','i'
- ,'t','e','m','g','o','t','o','_','i','t'
- ,'e','m','s','u','b','p','r','o','g','r'
- ,'a','m','_','s','p','e','c','i','f','i'
- ,'c','a','t','i','o','n','s','u','b','p'
- ,'r','o','g','r','a','m','_','i','d','e'
- ,'n','t','i','f','i','e','r','p','a','r'
- ,'a','m','e','t','e','r','_','s','p','e'
- ,'c','i','f','i','c','a','t','i','o','n'
- ,'{',';','p','a','r','a','m','e','t','e'
- ,'r','_','s','p','e','c','i','f','i','c'
- ,'a','t','i','o','n','}','d','e','s','i'
- ,'g','n','a','t','o','r','m','o','d','e'
- ,'g','e','n','e','r','i','c','_','p','a'
- ,'r','a','m','e','t','e','r','_','m','o'
- ,'d','e','s','u','b','p','r','o','g','r'
- ,'a','m','_','b','o','d','y','_','h','e'
- ,'a','d','s','u','b','p','r','o','g','r'
- ,'a','m','_','b','o','d','y','_','t','a'
- ,'i','l','[','e','n','d','_','d','e','s'
- ,'i','g','n','a','t','o','r',']','p','a'
- ,'c','k','a','g','e','_','s','p','e','c'
- ,'i','f','i','c','a','t','i','o','n','p'
- ,'a','c','k','a','g','e','_','i','d','e'
- ,'n','t','i','f','i','e','r','p','r','i'
- ,'v','a','t','e','_','p','a','r','t','p'
- ,'a','c','k','a','g','e','_','b','o','d'
- ,'y','_','i','n','d','i','c','a','t','o'
- ,'r','{',',','e','x','p','a','n','d','e'
- ,'d','_','n','a','m','e','}','t','a','s'
- ,'k','_','s','p','e','c','i','f','i','c'
- ,'a','t','i','o','n','t','a','s','k','_'
- ,'i','d','e','n','t','i','f','i','e','r'
- ,'{','e','n','t','r','y','_','d','e','c'
- ,'l','a','r','a','t','i','o','n','}','{'
- ,'r','e','p','r','e','s','e','n','t','a'
- ,'t','i','o','n','_','c','l','a','u','s'
- ,'e','}','t','a','s','k','_','b','o','d'
- ,'y','_','i','n','d','i','c','a','t','o'
- ,'r','[','(','d','i','s','c','r','e','t'
- ,'e','_','r','a','n','g','e',')',']','['
- ,'f','o','r','m','a','l','_','p','a','r'
- ,'t',']','e','n','t','r','y','_','d','e'
- ,'c','l','a','r','a','t','i','o','n','['
- ,'(','e','x','p','r','e','s','s','i','o'
- ,'n',')',']','[','f','o','r','m','a','l'
- ,'_','p','a','r','t',']','s','e','l','e'
- ,'c','t','i','v','e','_','w','a','i','t'
- ,'c','o','n','d','i','t','i','o','n','a'
- ,'l','_','e','n','t','r','y','_','c','a'
- ,'l','l','t','i','m','e','d','_','e','n'
- ,'t','r','y','_','c','a','l','l','s','e'
- ,'l','e','c','t','_','a','l','t','e','r'
- ,'n','a','t','i','v','e','{','O','R','_'
- ,'_','s','e','l','e','c','t','_','a','l'
- ,'t','e','r','n','a','t','i','v','e','}'
- ,'s','e','l','e','c','t','i','v','e','_'
- ,'w','a','i','t','_','a','l','t','e','r'
- ,'n','a','t','i','v','e','a','c','c','e'
- ,'p','t','_','a','l','t','e','r','n','a'
- ,'t','i','v','e','d','e','l','a','y','_'
- ,'a','l','t','e','r','n','a','t','i','v'
- ,'e','t','e','r','m','i','n','a','t','e'
- ,'_','a','l','t','e','r','n','a','t','i'
- ,'v','e','[','s','e','q','u','e','n','c'
- ,'e','_','o','f','_','s','t','a','t','e'
- ,'m','e','n','t','s',']','{',',','n','a'
- ,'m','e','}','{','c','o','m','p','i','l'
- ,'a','t','i','o','n','_','u','n','i','t'
- ,'}','p','r','a','g','m','a','_','h','e'
- ,'a','d','e','r','c','o','m','p','i','l'
- ,'a','t','i','o','n','_','u','n','i','t'
- ,'c','o','n','t','e','x','t','_','c','l'
- ,'a','u','s','e','l','i','b','r','a','r'
- ,'y','_','o','r','_','s','e','c','o','n'
- ,'d','a','r','y','_','u','n','i','t','s'
- ,'u','b','u','n','i','t','{','w','i','t'
- ,'h','_','c','l','a','u','s','e','{','u'
- ,'s','e','_','c','l','a','u','s','e','}'
- ,'}','{',',','u','s','e','d','_','i','d'
- ,'e','n','t','i','f','i','e','r','}','w'
- ,'i','t','h','_','c','l','a','u','s','e'
- ,'e','x','c','e','p','t','i','o','n','_'
- ,'c','h','o','i','c','e','{','|','e','x'
- ,'c','e','p','t','i','o','n','_','c','h'
- ,'o','i','c','e','}','e','x','c','e','p'
- ,'t','i','o','n','_','h','a','n','d','l'
- ,'e','r','g','e','n','e','r','i','c','_'
- ,'s','p','e','c','i','f','i','c','a','t'
- ,'i','o','n','g','e','n','e','r','i','c'
- ,'_','f','o','r','m','a','l','_','p','a'
- ,'r','t','{','g','e','n','e','r','i','c'
- ,'_','p','a','r','a','m','e','t','e','r'
- ,'_','d','e','c','l','a','r','a','t','i'
- ,'o','n','}','g','e','n','e','r','i','c'
- ,'_','p','a','r','a','m','e','t','e','r'
- ,'_','d','e','c','l','a','r','a','t','i'
- ,'o','n','g','e','n','e','r','i','c','_'
- ,'t','y','p','e','_','d','e','f','i','n'
- ,'i','t','i','o','n','[','I','S','_','_'
- ,'n','a','m','e','_','_','o','r','_','_'
- ,'<','>',']','g','e','n','e','r','i','c'
- ,'_','a','s','s','o','c','i','a','t','i'
- ,'o','n','{',',','g','e','n','e','r','i'
- ,'c','_','a','s','s','o','c','i','a','t'
- ,'i','o','n','}','[','g','e','n','e','r'
- ,'i','c','_','f','o','r','m','a','l','_'
- ,'p','a','r','a','m','e','t','e','r','='
- ,'>',']','g','e','n','e','r','i','c','_'
- ,'a','c','t','u','a','l','_','p','a','r'
- ,'a','m','e','t','e','r','g','e','n','e'
- ,'r','i','c','_','f','o','r','m','a','l'
- ,'_','p','a','r','a','m','e','t','e','r'
- ,'g','e','n','e','r','i','c','_','a','c'
- ,'t','u','a','l','_','p','a','r','a','m'
- ,'e','t','e','r','r','e','p','r','e','s'
- ,'e','n','t','a','t','i','o','n','_','i'
- ,'t','e','m','l','e','n','g','t','h','_'
- ,'c','l','a','u','s','e','e','n','u','m'
- ,'e','r','a','t','i','o','n','_','r','e'
- ,'p','r','e','s','e','n','t','a','t','i'
- ,'o','n','_','c','l','a','u','s','e','a'
- ,'d','d','r','e','s','s','_','c','l','a'
- ,'u','s','e','r','e','c','o','r','d','_'
- ,'r','e','p','r','e','s','e','n','t','a'
- ,'t','i','o','n','_','c','l','a','u','s'
- ,'e','{','c','o','m','p','o','n','e','n'
- ,'t','_','c','l','a','u','s','e','}','a'
- ,'l','i','g','n','m','e','n','t','_','c'
- ,'l','a','u','s','e','c','o','m','p','o'
- ,'n','e','n','t','_','c','l','a','u','s'
- ,'e','c','o','d','e','_','i','t','e','m'
- ,'g','a','_','e','x','p','r','e','s','s'
- ,'i','o','n','{','|','i','d','e','n','t'
- ,'i','f','i','e','r','}','e','x','c','e'
- ,'p','t','i','o','n','_','h','a','n','d'
- ,'l','e','r','_','l','i','s','t','u','s'
- ,'e','_','c','l','a','u','s','e','_','l'
- ,'i','s','t') ;
- --| Table of symbols used in the grammar.
- -- NYU Reference Name: NO_SYM
-
- LeftHandSide :
- constant array (LeftHandSideRange)
- of GrammarSymbolRange :=
- ( 101, 101, 99, 103, 103, 103, 103, 103, 103, 103
- , 103, 103, 103, 103, 102, 114, 114, 114, 114, 104
- , 115, 105, 105, 105, 121, 121, 125, 124, 128, 128
- , 128, 128, 128, 128, 128, 106, 136, 116, 116, 137
- , 138, 138, 138, 138, 135, 140, 140, 129, 144, 146
- , 146, 130, 131, 131, 141, 147, 142, 149, 132, 132
- , 150, 118, 151, 153, 155, 155, 157, 157, 133, 158
- , 158, 158, 161, 163, 126, 162, 165, 165, 167, 167
- , 167, 134, 122, 122, 170, 170, 173, 173, 173, 176
- , 176, 176, 176, 176, 176, 176, 171, 171, 177, 177
- , 177, 154, 154, 154, 154, 154, 154, 182, 183, 183
- , 185, 185, 185, 184, 186, 186, 186, 186, 188, 187
- , 187, 187, 187, 187, 187, 100, 100, 100, 119, 119
- , 119, 119, 119, 119, 197, 197, 143, 207, 210, 210
- , 212, 208, 208, 208, 208, 208, 208, 208, 215, 215
- , 215, 215, 215, 215, 216, 216, 216, 217, 217, 211
- , 211, 218, 218, 218, 218, 219, 214, 214, 213, 213
- , 213, 213, 224, 222, 222, 222, 222, 225, 225, 225
- , 225, 225, 225, 225, 225, 225, 225, 226, 226, 226
- , 226, 226, 226, 244, 228, 229, 238, 248, 239, 250
- , 250, 240, 240, 254, 254, 254, 256, 255, 255, 257
- , 241, 241, 260, 230, 261, 261, 261, 261, 231, 231
- , 232, 262, 107, 263, 263, 263, 263, 267, 267, 264
- , 265, 268, 268, 269, 269, 269, 179, 270, 271, 237
- , 108, 273, 273, 275, 274, 180, 180, 276, 123, 123
- , 123, 123, 175, 113, 113, 113, 113, 109, 278, 278
- , 278, 278, 279, 181, 282, 284, 242, 242, 233, 243
- , 243, 243, 286, 289, 289, 291, 291, 291, 292, 293
- , 294, 287, 288, 234, 98, 298, 299, 299, 299, 301
- , 301, 301, 301, 301, 301, 301, 300, 305, 178, 178
- , 178, 302, 111, 308, 306, 306, 235, 235, 110, 309
- , 309, 310, 312, 312, 312, 312, 313, 313, 313, 313
- , 313, 313, 313, 313, 112, 112, 112, 112, 112, 112
- , 315, 318, 318, 319, 174, 320, 320, 320, 320, 321
- , 322, 324, 324, 327, 326, 323, 236, 328, 159, 159
- , 164, 164, 221, 221, 249, 249, 117, 117, 120, 120
- , 139, 220, 220, 145, 145, 148, 148, 152, 152, 156
- , 156, 160, 160, 127, 127, 166, 166, 168, 168, 169
- , 169, 172, 172, 189, 189, 191, 192, 192, 190, 190
- , 193, 329, 329, 329, 194, 194, 195, 196, 196, 330
- , 330, 198, 198, 199, 199, 200, 200, 201, 201, 202
- , 202, 203, 203, 204, 204, 205, 205, 205, 206, 206
- , 209, 209, 223, 223, 227, 227, 245, 246, 246, 247
- , 247, 251, 251, 252, 252, 253, 253, 259, 259, 258
- , 331, 331, 266, 266, 272, 272, 272, 277, 277, 280
- , 280, 281, 281, 283, 283, 283, 283, 285, 285, 285
- , 285, 290, 290, 295, 295, 296, 296, 297, 297, 303
- , 303, 332, 332, 304, 304, 307, 307, 311, 311, 314
- , 314, 314, 316, 316, 317, 317, 325, 325) ;
- --| Map of the grammar rule number (constant array index) to
- --| numeric value of left hand side symbol.
- -- NYU Reference Name: LHS
-
- RightHandSide :
- constant array (RightHandSideRange)
- of GC.ParserInteger :=
- ( 6, 3, 1, 1, 1, 1, 1, 1, 1, 1
- , 1, 1, 1, 1, 2, 4, 5, 4, 5, 6
- , 2, 1, 1, 1, 4, 8, 2, 1, 1, 1
- , 1, 1, 1, 1, 1, 4, 2, 1, 2, 1
- , 1, 1, 1, 3, 2, 2, 4, 4, 1, 1
- , 1, 1, 1, 1, 2, 2, 2, 2, 1, 1
- , 7, 4, 3, 4, 2, 1, 1, 3, 4, 4
- , 4, 3, 2, 4, 4, 9, 5, 4, 1, 3
- , 2, 2, 3, 7, 1, 3, 1, 1, 1, 1
- , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- , 1, 1, 1, 1, 1, 1, 1, 4, 3, 3
- , 1, 1, 1, 3, 1, 1, 1, 1, 3, 2
- , 5, 5, 3, 3, 1, 1, 4, 2, 1, 1
- , 1, 1, 1, 1, 2, 3, 1, 1, 2, 2
- , 3, 1, 1, 1, 1, 1, 1, 1, 1, 1
- , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- , 1, 1, 1, 1, 1, 1, 3, 3, 2, 5
- , 4, 4, 3, 1, 1, 2, 2, 1, 1, 1
- , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- , 1, 1, 1, 3, 2, 4, 7, 1, 9, 5
- , 4, 7, 8, 2, 4, 5, 2, 3, 5, 1
- , 5, 4, 1, 2, 1, 3, 2, 4, 2, 3
- , 2, 2, 2, 2, 6, 4, 8, 1, 1, 1
- , 4, 1, 2, 1, 2, 3, 2, 2, 3, 2
- , 2, 6, 8, 1, 1, 5, 4, 4, 6, 10
- , 5, 9, 4, 6, 6, 5, 4, 2, 2, 3
- , 7, 8, 1, 4, 4, 4, 4, 8, 3, 1
- , 1, 1, 7, 5, 2, 1, 1, 1, 2, 2
- , 3, 9, 10, 4, 1, 2, 5, 2, 2, 1
- , 1, 1, 1, 1, 1, 1, 1, 4, 4, 6
- , 6, 5, 4, 5, 1, 1, 2, 3, 2, 2
- , 2, 2, 5, 5, 9, 4, 3, 2, 2, 2
- , 2, 1, 1, 1, 6, 10, 6, 10, 5, 9
- , 1, 1, 1, 1, 2, 1, 1, 1, 1, 4
- , 4, 7, 8, 5, 4, 5, 2, 3, 0, 2
- , 0, 2, 0, 2, 0, 2, 0, 2, 0, 3
- , 1, 1, 3, 0, 3, 0, 1, 0, 3, 0
- , 3, 0, 3, 0, 3, 0, 2, 0, 3, 1
- , 3, 1, 3, 3, 3, 4, 0, 3, 0, 2
- , 3, 1, 3, 2, 1, 3, 4, 0, 3, 0
- , 3, 3, 3, 3, 3, 3, 3, 4, 4, 4
- , 4, 0, 2, 1, 2, 1, 2, 3, 1, 3
- , 0, 2, 1, 3, 1, 2, 3, 0, 5, 0
- , 2, 0, 2, 0, 2, 0, 1, 0, 2, 2
- , 1, 2, 0, 3, 0, 1, 1, 0, 3, 1
- , 3, 0, 3, 0, 4, 3, 7, 0, 4, 3
- , 7, 0, 3, 1, 1, 0, 3, 1, 2, 0
- , 3, 1, 3, 0, 3, 0, 3, 0, 2, 0
- , 2, 2, 0, 3, 1, 3, 1, 3) ;
- --| Map of the grammar rule number (constant array index) to
- --| size of right hand sides (number of symbols).
- -- NYU Reference Name: RHS
-
- ActionTableOne :
- constant array (ActionTableOneRange)
- of GC.ParserInteger :=
- ( 6969, 0, 0, 0, 50, 51, 52, 0, 0, 0
- , 53, 0, 0, 0, 0, 0, 0, 636, 0, 6972
- , 6975, 58, 59, 60, 61, 0, 0, 62, 6978, 6981
- , 6984, 0, 66, 67, 68, 69, 70, 0, 0, 71
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 39, 40
- , 41, 6987, 35, 0, 43, 0, 0, 44, 0, 6990
- , 0, 79, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 762, 0, 0, 0, 0, 0, 0, 926
- , 0, 0, 0, 518, 36, 37, 38, 649, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 6993, 0, 0, 0, 0, 0, 118, 431
- , 595, 131, 0, 861, 107, 40, 41, 6996, 0, 0
- , 6999, 0, 0, 44, 0, 45, 48, 0, 597, 0
- , 0, 264, 0, 0, 0, 0, 0, 7002, 359, 840
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 119, 7005, 121, 0, 0, 0, 0
- , 0, 123, 124, 125, 179, 50, 51, 52, 622, 0
- , 894, 53, 0, 0, 0, 0, 649, 54, 55, 0
- , 56, 57, 58, 59, 7008, 7011, 0, 0, 62, 63
- , 64, 65, 798, 66, 67, 68, 69, 70, 0, 0
- , 71, 0, 0, 156, 0, 0, 172, 0, 0, 0
- , 817, 0, 36, 0, 38, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 7014, 0, 0
- , 0, 50, 51, 52, 0, 0, 319, 53, 319, 320
- , 0, 920, 107, 40, 41, 42, 0, 0, 43, 0
- , 558, 0, 0, 0, 62, 63, 64, 65, 0, 7017
- , 67, 68, 69, 70, 431, 0, 7020, 0, 0, 0
- , 0, 0, 0, 0, 0, 126, 127, 0, 0, 226
- , 0, 0, 0, 0, 0, 221, 0, 128, 229, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 819, 0, 0, 0, 0, 0
- , 0, 0, 72, 385, 131, 0, 850, 0, 0, 0
- , 132, 0, 290, 574, 0, 0, 0, 0, 0, 0
- , 0, 156, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 418, 0, 419, 738, 0, 0, 651
- , 0, 1388, 0, 420, 0, 1388, 421, 0, 0, 50
- , 7023, 7026, 1123, 0, 1123, 7029, 7032, 35, 0, 423
- , 424, 0, 0, 887, 1384, 0, 0, 0, 425, 0
- , 1123, 0, 0, 0, 81, 157, 0, 426, 0, 68
- , 69, 70, 427, 0, 428, 0, 0, 387, 0, 36
- , 37, 38, 1123, 1384, 0, 0, 429, 0, 41, 7035
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 3, 0, 0, 0, 0, 0, 0, 0, 39
- , 7038, 41, 42, 430, 339, 7041, 0, 0, 7045, 0
- , 45, 0, 637, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 399, 0, 0, 0, 0, 0
- , 841, 0, 0, 739, 0, 0, 0, 0, 360, 0
- , 0, 0, 0, 907, 0, 0, 0, 0, 0, 107
- , 0, 7048, 42, 47, 0, 0, 0, 0, 0, 0
- , 35, 0, 0, 0, 0, 432, 0, 0, 0, 0
- , 419, 0, 0, 0, 0, 0, 0, 48, 0, 0
- , 0, 7051, 0, 36, 37, 38, 0, 0, 7054, 0
- , 0, 0, 36, 7057, 7061, 52, 0, 221, 0, 0
- , 319, 0, 0, 828, 559, 0, 0, 0, 0, 0
- , 0, 927, 0, 107, 40, 41, 7066, 51, 52, 43
- , 0, 0, 7069, 7073, 7076, 42, 0, 0, 43, 262
- , 0, 7079, 7082, 7085, 7089, 60, 7092, 435, 7095, 7098
- , 7101, 7104, 7107, 441, 7110, 7114, 7117, 7120, 7123, 447
- , 448, 7126, 7130, 7133, 452, 7136, 0, 0, 0, 0
- , 0, 0, 0, 7139, 598, 0, 7142, 7145, 52, 0
- , 455, 0, 456, 457, 0, 0, 0, 501, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 101, 0
- , 4, 7149, 6, 7, 0, 0, 8, 458, 459, 460
- , 652, 0, 110, 0, 0, 0, 502, 0, 0, 0
- , 0, 156, 0, 0, 0, 7152, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 575, 789, 519, 291
- , 7156, 51, 52, 0, 0, 0, 7159, 0, 0, 7162
- , 51, 7166, 0, 0, 0, 7169, 57, 7172, 7175, 7178
- , 61, 0, 0, 7181, 63, 64, 65, 0, 66, 67
- , 68, 69, 7184, 7187, 64, 7190, 168, 7194, 67, 68
- , 69, 70, 0, 0, 71, 0, 0, 107, 7197, 41
- , 42, 0, 0, 43, 0, 7200, 44, 0, 45, 105
- , 521, 9, 0, 0, 800, 0, 0, 0, 0, 693
- , 0, 0, 0, 0, 0, 0, 0, 0, 695, 0
- , 0, 7203, 0, 0, 0, 0, 0, 0, 0, 0
- , 35, 0, 740, 0, 0, 10, 174, 0, 0, 0
- , 0, 583, 0, 0, 660, 0, 0, 661, 0, 0
- , 0, 0, 264, 7206, 37, 38, 0, 0, 0, 0
- , 0, 0, 36, 7209, 38, 7212, 131, 875, 697, 698
- , 699, 0, 132, 292, 0, 0, 156, 0, 0, 0
- , 0, 0, 0, 107, 40, 41, 42, 765, 0, 43
- , 0, 0, 7215, 40, 7218, 42, 0, 0, 43, 0
- , 0, 44, 0, 7222, 50, 51, 52, 776, 0, 562
- , 7226, 0, 0, 0, 0, 0, 0, 522, 0, 56
- , 57, 7229, 59, 7232, 61, 663, 36, 7235, 7239, 64
- , 65, 0, 66, 67, 68, 7242, 7245, 7248, 0, 7251
- , 0, 0, 36, 37, 38, 0, 47, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 107, 40, 41, 42
- , 0, 266, 43, 0, 0, 7255, 40, 7258, 42, 0
- , 7261, 43, 7264, 40, 7267, 42, 7270, 0, 43, 361
- , 0, 49, 0, 0, 0, 7273, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 7276, 0, 0
- , 7279, 51, 52, 503, 0, 0, 53, 0, 36, 7282
- , 7286, 52, 504, 748, 0, 7289, 0, 36, 37, 7292
- , 0, 7295, 55, 62, 7298, 7301, 7304, 59, 7307, 7310
- , 68, 69, 7313, 63, 7316, 7319, 0, 66, 7322, 7325
- , 7328, 7331, 0, 653, 7334, 156, 0, 7337, 40, 7340
- , 42, 0, 0, 43, 7343, 0, 7346, 42, 45, 0
- , 0, 7349, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 50, 51, 52, 830, 129, 7352, 7355
- , 15, 0, 50, 51, 52, 0, 0, 0, 53, 50
- , 51, 52, 631, 0, 0, 7360, 62, 63, 7363, 65
- , 0, 66, 7366, 68, 69, 7369, 63, 64, 7372, 7376
- , 66, 67, 7380, 7383, 70, 7387, 266, 7390, 7394, 68
- , 7397, 70, 0, 0, 0, 851, 0, 7400, 533, 534
- , 319, 209, 7403, 7406, 212, 7410, 156, 0, 0, 0
- , 0, 0, 0, 576, 863, 36, 37, 7413, 0, 0
- , 0, 0, 282, 0, 0, 7416, 7419, 7424, 183, 7427
- , 7430, 7433, 187, 188, 7436, 7439, 7443, 192, 7446, 0
- , 7449, 7453, 7456, 7459, 7462, 7466, 7471, 41, 7474, 63
- , 64, 7478, 0, 7481, 7484, 68, 7487, 7490, 63, 64
- , 7494, 0, 66, 67, 68, 69, 70, 0, 0, 71
- , 716, 0, 0, 686, 0, 0, 0, 0, 0, 0
- , 418, 0, 419, 0, 390, 0, 104, 0, 1388, 0
- , 7498, 0, 1388, 421, 197, 0, 198, 199, 200, 0
- , 7501, 202, 7504, 7507, 7510, 0, 423, 424, 0, 0
- , 540, 7513, 542, 543, 544, 7516, 546, 547, 253, 0
- , 0, 172, 548, 7519, 7522, 0, 0, 0, 0, 7525
- , 0, 7528, 492, 0, 156, 842, 0, 725, 0, 0
- , 1384, 0, 0, 429, 0, 41, 42, 654, 0, 0
- , 501, 0, 0, 0, 282, 0, 0, 801, 0, 0
- , 0, 0, 50, 51, 52, 0, 0, 0, 53, 0
- , 430, 0, 293, 742, 0, 0, 0, 267, 0, 7531
- , 0, 0, 363, 0, 0, 62, 7534, 64, 65, 0
- , 66, 67, 68, 7537, 70, 0, 27, 71, 0, 28
- , 221, 207, 0, 0, 0, 208, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 687, 0
- , 0, 229, 0, 0, 0, 0, 0, 0, 172, 0
- , 0, 0, 7540, 32, 101, 0, 0, 0, 0, 0
- , 0, 0, 0, 209, 210, 211, 212, 213, 726, 0
- , 0, 0, 0, 0, 0, 0, 632, 577, 0, 0
- , 50, 51, 52, 0, 0, 0, 214, 0, 35, 0
- , 0, 0, 0, 0, 0, 0, 0, 35, 0, 0
- , 129, 0, 0, 0, 0, 910, 173, 0, 0, 129
- , 0, 0, 0, 0, 0, 0, 0, 0, 1420, 1420
- , 7543, 37, 38, 434, 7546, 436, 7549, 438, 7553, 7556
- , 7560, 7563, 7566, 444, 7569, 7572, 7575, 7578, 449, 450
- , 451, 452, 453, 0, 418, 0, 7582, 0, 0, 0
- , 7585, 40, 7588, 7592, 420, 1420, 7595, 7598, 0, 7601
- , 7605, 7608, 7612, 38, 0, 43, 7615, 1384, 7618, 37
- , 7621, 424, 802, 790, 0, 1384, 0, 0, 0, 425
- , 0, 0, 221, 0, 458, 459, 460, 0, 7625, 0
- , 0, 107, 40, 7628, 42, 428, 0, 43, 107, 40
- , 7632, 7635, 7638, 0, 7641, 0, 0, 7644, 505, 7647
- , 42, 0, 0, 583, 0, 0, 107, 0, 41, 42
- , 467, 0, 0, 0, 134, 0, 461, 0, 523, 0
- , 0, 0, 0, 0, 430, 0, 0, 266, 0, 156
- , 0, 0, 0, 0, 0, 0, 0, 0, 156, 0
- , 0, 0, 462, 0, 463, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 50, 51, 7651
- , 0, 0, 0, 53, 0, 0, 7655, 51, 52, 0
- , 7659, 0, 7662, 229, 0, 364, 0, 156, 0, 0
- , 62, 7665, 7668, 7671, 59, 7674, 7677, 68, 69, 7681
- , 63, 64, 7684, 501, 66, 7687, 68, 69, 7691, 51
- , 52, 71, 0, 0, 7695, 7698, 7701, 52, 0, 0
- , 0, 7704, 690, 0, 50, 51, 7708, 0, 0, 480
- , 269, 7711, 7715, 7720, 7724, 52, 66, 67, 7727, 7730
- , 7733, 65, 764, 7736, 7739, 7743, 7746, 7749, 35, 0
- , 7752, 0, 0, 78, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 36, 37, 7755, 7758, 7761, 0
- , 7764, 438, 7767, 440, 7770, 442, 443, 7773, 445, 7776
- , 7780, 7783, 7786, 450, 451, 452, 7789, 0, 0, 0
- , 5, 11, 7, 527, 7792, 7795, 512, 42, 0, 0
- , 43, 7799, 0, 7802, 457, 45, 0, 0, 0, 0
- , 107, 40, 41, 42, 0, 0, 43, 0, 0, 44
- , 0, 45, 0, 0, 130, 131, 0, 0, 458, 459
- , 460, 132, 0, 156, 0, 0, 0, 749, 0, 0
- , 0, 0, 727, 0, 0, 728, 765, 766, 513, 524
- , 0, 940, 0, 0, 0, 0, 0, 0, 101, 480
- , 281, 50, 51, 52, 578, 0, 0, 53, 640, 35
- , 461, 0, 266, 0, 217, 0, 7805, 0, 734, 0
- , 0, 0, 0, 156, 0, 63, 158, 65, 266, 66
- , 67, 68, 69, 70, 749, 0, 12, 0, 693, 7808
- , 0, 36, 37, 38, 0, 13, 0, 695, 705, 0
- , 0, 50, 51, 7811, 0, 0, 0, 53, 0, 0
- , 0, 0, 0, 0, 0, 0, 56, 7814, 7817, 7820
- , 60, 7823, 40, 7826, 7829, 63, 64, 7832, 0, 66
- , 7835, 68, 7838, 7842, 58, 59, 7845, 61, 865, 0
- , 62, 63, 64, 65, 0, 66, 7848, 7851, 7854, 7857
- , 0, 0, 7860, 0, 533, 534, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 221, 0, 0, 0, 0, 129, 0, 0, 566, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 266
- , 0, 0, 0, 295, 0, 0, 0, 0, 7863, 567
- , 156, 0, 0, 230, 231, 0, 626, 0, 0, 0
- , 603, 36, 831, 38, 0, 0, 0, 778, 604, 0
- , 0, 0, 0, 0, 633, 0, 515, 516, 7866, 51
- , 52, 0, 0, 0, 53, 0, 0, 0, 0, 0
- , 0, 107, 40, 7869, 42, 0, 0, 7872, 0, 656
- , 0, 62, 7876, 64, 7879, 0, 66, 67, 7882, 69
- , 70, 7885, 0, 71, 0, 0, 568, 0, 569, 570
- , 571, 0, 1052, 0, 0, 551, 0, 552, 0, 0
- , 0, 0, 911, 0, 36, 37, 7888, 0, 0, 0
- , 0, 0, 0, 7891, 37, 7894, 0, 0, 0, 1052
- , 0, 1052, 0, 0, 1052, 385, 131, 0, 0, 0
- , 0, 0, 7897, 0, 7900, 40, 7903, 42, 36, 37
- , 7906, 0, 0, 7909, 40, 7912, 42, 0, 0, 7915
- , 156, 0, 44, 0, 7918, 1052, 1052, 1052, 1052, 1052
- , 1052, 1052, 1052, 1052, 0, 0, 1052, 1052, 7921, 7924
- , 7927, 7930, 1052, 0, 7933, 1052, 1052, 44, 7936, 7939
- , 52, 0, 0, 0, 7942, 643, 750, 0, 0, 0
- , 0, 9, 0, 0, 0, 35, 0, 941, 0, 0
- , 0, 0, 35, 0, 278, 0, 0, 0, 68, 69
- , 7945, 0, 244, 0, 0, 0, 101, 0, 0, 0
- , 0, 579, 7948, 156, 0, 296, 0, 36, 37, 7951
- , 0, 0, 7954, 0, 36, 37, 38, 0, 923, 0
- , 0, 0, 0, 0, 0, 0, 266, 0, 0, 0
- , 0, 50, 51, 52, 137, 0, 0, 7957, 40, 7961
- , 7964, 51, 52, 7967, 107, 40, 7970, 42, 45, 0
- , 43, 0, 0, 44, 62, 7974, 64, 65, 0, 7977
- , 67, 68, 69, 7980, 63, 7983, 7986, 52, 66, 67
- , 68, 7990, 7993, 0, 0, 71, 0, 0, 0, 0
- , 56, 57, 58, 59, 60, 61, 0, 0, 62, 63
- , 64, 7996, 0, 7999, 67, 68, 8002, 70, 0, 0
- , 71, 0, 0, 0, 853, 616, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 109, 0, 0, 0, 0
- , 0, 0, 266, 897, 0, 0, 8005, 0, 8008, 37
- , 38, 0, 607, 8011, 0, 0, 0, 232, 0, 8014
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 525, 0, 0, 50, 51, 52, 464, 107, 8018
- , 8021, 8024, 51, 8029, 8032, 115, 0, 8036, 0, 8039
- , 57, 58, 59, 60, 61, 0, 271, 8042, 63, 8045
- , 8048, 0, 66, 67, 8052, 8055, 8058, 8062, 0, 8065
- , 67, 68, 69, 8068, 0, 105, 71, 314, 0, 305
- , 0, 0, 729, 0, 0, 0, 0, 0, 0, 0
- , 35, 0, 341, 0, 0, 101, 315, 0, 0, 36
- , 37, 38, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 8071, 0, 0, 688
- , 0, 0, 36, 37, 38, 0, 84, 110, 0, 758
- , 40, 41, 8074, 0, 0, 43, 101, 0, 44, 418
- , 8077, 8081, 0, 0, 0, 0, 0, 1388, 0, 420
- , 0, 1388, 8084, 40, 41, 8087, 8090, 52, 8093, 0
- , 0, 8096, 1384, 45, 342, 423, 8100, 367, 501, 103
- , 8103, 8106, 8109, 59, 8112, 8115, 8118, 8121, 8124, 8127
- , 8130, 65, 0, 8133, 67, 68, 69, 70, 427, 0
- , 8136, 393, 0, 8139, 0, 35, 17, 8142, 0, 8145
- , 0, 0, 429, 0, 8148, 8151, 38, 245, 0, 101
- , 0, 0, 0, 0, 0, 8155, 0, 0, 669, 854
- , 0, 671, 0, 0, 0, 0, 0, 8158, 37, 8161
- , 8165, 8168, 0, 0, 107, 8171, 41, 42, 431, 0
- , 43, 8174, 0, 44, 0, 45, 50, 8177, 52, 0
- , 281, 0, 53, 608, 469, 216, 0, 107, 8180, 8184
- , 8188, 8192, 42, 8195, 0, 43, 44, 0, 8198, 8201
- , 8204, 8208, 65, 942, 66, 8211, 68, 69, 70, 0
- , 0, 8214, 0, 103, 0, 172, 0, 0, 8217, 0
- , 0, 8220, 62, 8223, 8226, 65, 0, 8229, 67, 68
- , 69, 70, 35, 0, 71, 0, 0, 0, 0, 0
- , 0, 0, 266, 780, 0, 0, 0, 0, 0, 50
- , 51, 52, 0, 156, 0, 0, 0, 35, 0, 855
- , 23, 24, 668, 0, 36, 8232, 38, 245, 0, 0
- , 0, 0, 0, 173, 0, 0, 156, 0, 669, 866
- , 0, 8235, 51, 52, 0, 0, 0, 53, 0, 8238
- , 37, 38, 434, 435, 8241, 8245, 8248, 8252, 8256, 8259
- , 8262, 8266, 444, 8269, 8272, 8276, 8281, 8286, 8290, 8294
- , 8297, 8302, 8305, 8308, 741, 0, 71, 0, 0, 8311
- , 40, 41, 42, 0, 0, 43, 455, 8315, 8318, 8322
- , 8326, 64, 8330, 67, 8333, 8336, 8339, 69, 70, 71
- , 0, 8342, 0, 0, 25, 0, 0, 707, 0, 898
- , 0, 8345, 0, 8348, 8352, 460, 0, 8355, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 245, 0, 793, 0, 0, 0, 0, 0
- , 718, 0, 29, 8358, 670, 36, 8361, 38, 0, 8364
- , 31, 8368, 0, 0, 0, 461, 0, 245, 0, 101
- , 0, 0, 751, 0, 0, 0, 0, 856, 8372, 879
- , 0, 8375, 51, 52, 0, 107, 40, 8378, 42, 220
- , 0, 43, 0, 527, 44, 103, 45, 0, 0, 927
- , 0, 0, 0, 0, 62, 63, 8381, 8384, 52, 66
- , 67, 68, 8387, 70, 0, 0, 71, 297, 0, 41
- , 42, 0, 0, 0, 394, 0, 0, 0, 35, 8390
- , 8393, 8396, 8399, 212, 8403, 8406, 68, 69, 70, 470
- , 324, 71, 0, 0, 0, 0, 0, 33, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 528, 0, 0
- , 36, 37, 38, 266, 395, 0, 0, 0, 0, 35
- , 0, 0, 0, 396, 156, 0, 281, 0, 0, 0
- , 8409, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 107, 8412, 41, 42, 0, 0, 43, 385, 131, 44
- , 0, 8415, 8418, 8421, 8425, 899, 298, 0, 53, 0
- , 0, 0, 0, 0, 804, 0, 0, 56, 8428, 58
- , 59, 60, 61, 0, 582, 62, 63, 64, 65, 0
- , 66, 8431, 8434, 8437, 8440, 51, 299, 8444, 0, 0
- , 44, 0, 45, 0, 0, 8448, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 266, 0
- , 233, 0, 0, 234, 0, 0, 0, 0, 0, 156
- , 844, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 84, 0, 0, 0, 0, 0
- , 0, 0, 159, 0, 0, 0, 0, 50, 51, 8451
- , 0, 0, 0, 53, 344, 0, 0, 0, 0, 0
- , 8454, 932, 8457, 215, 0, 216, 0, 0, 0, 0
- , 62, 63, 64, 65, 0, 66, 67, 68, 8460, 70
- , 8463, 42, 8466, 0, 611, 0, 174, 14, 8470, 51
- , 52, 0, 0, 0, 53, 0, 0, 0, 0, 0
- , 0, 101, 0, 8473, 0, 0, 17, 0, 0, 752
- , 0, 62, 8476, 8479, 8482, 0, 8485, 8488, 68, 69
- , 8491, 8494, 85, 71, 0, 8497, 164, 0, 0, 34
- , 0, 0, 292, 0, 0, 0, 8500, 0, 0, 0
- , 0, 0, 107, 40, 41, 42, 0, 0, 43, 0
- , 0, 8503, 0, 8506, 37, 38, 0, 0, 0, 0
- , 0, 0, 0, 180, 181, 182, 8509, 8512, 185, 8515
- , 187, 188, 189, 190, 8518, 192, 193, 0, 0, 85
- , 0, 529, 194, 8521, 8524, 41, 42, 0, 0, 8527
- , 78, 0, 44, 0, 45, 50, 8530, 52, 0, 0
- , 0, 494, 0, 0, 0, 0, 221, 0, 0, 0
- , 0, 85, 794, 0, 0, 0, 0, 0, 0, 0
- , 266, 86, 87, 0, 0, 0, 0, 0, 0, 0
- , 0, 156, 0, 0, 198, 199, 200, 0, 0, 769
- , 0, 0, 35, 229, 0, 645, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 8533, 325, 0, 50
- , 51, 8536, 326, 0, 0, 53, 0, 0, 0, 0
- , 0, 867, 669, 670, 8539, 8542, 8546, 59, 8549, 61
- , 0, 221, 62, 63, 64, 65, 0, 66, 8553, 68
- , 69, 70, 0, 0, 71, 0, 0, 0, 0, 0
- , 50, 8556, 52, 0, 107, 40, 8559, 8562, 317, 0
- , 8565, 0, 744, 44, 0, 45, 0, 0, 0, 0
- , 0, 0, 584, 62, 8568, 8571, 65, 0, 66, 67
- , 68, 69, 70, 0, 27, 8574, 0, 0, 0, 207
- , 0, 0, 0, 1362, 0, 845, 1362, 0, 846, 0
- , 0, 0, 119, 120, 121, 1029, 1029, 235, 0, 0
- , 8578, 8581, 8584, 279, 0, 0, 0, 0, 0, 0
- , 31, 32, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 209, 8587, 211, 212, 213, 0, 0, 0, 0
- , 369, 0, 0, 8591, 8594, 8598, 15, 0, 0, 301
- , 0, 0, 0, 162, 0, 0, 0, 163, 0, 164
- , 0, 370, 0, 371, 17, 0, 0, 0, 0, 0
- , 35, 8601, 51, 52, 176, 8604, 0, 53, 178, 179
- , 0, 0, 0, 480, 164, 690, 355, 0, 0, 691
- , 0, 0, 0, 8607, 62, 8611, 8614, 65, 0, 66
- , 67, 68, 8619, 8622, 38, 0, 8625, 8628, 0, 8631
- , 0, 0, 0, 0, 0, 318, 0, 480, 0, 806
- , 35, 180, 181, 182, 8634, 8637, 185, 186, 8640, 8644
- , 189, 8647, 8650, 8653, 8656, 42, 128, 0, 43, 672
- , 8659, 8662, 196, 45, 728, 8667, 0, 0, 0, 0
- , 0, 0, 36, 37, 8670, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 530, 834, 0, 0, 0, 0
- , 0, 0, 0, 284, 0, 0, 0, 36, 37, 38
- , 0, 0, 8673, 40, 512, 42, 8676, 0, 43, 0
- , 0, 44, 198, 8679, 200, 0, 0, 0, 0, 0
- , 275, 0, 0, 0, 142, 0, 0, 107, 8683, 41
- , 8686, 51, 52, 43, 0, 0, 44, 0, 45, 0
- , 0, 110, 0, 221, 0, 0, 0, 0, 0, 0
- , 0, 0, 302, 880, 111, 0, 8690, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 925, 0, 50
- , 51, 8693, 0, 0, 8696, 8699, 113, 0, 114, 35
- , 8702, 8705, 0, 480, 56, 8708, 58, 59, 8711, 61
- , 695, 156, 62, 63, 64, 65, 0, 66, 67, 68
- , 69, 70, 373, 0, 71, 266, 0, 0, 0, 0
- , 0, 36, 8714, 38, 374, 0, 156, 207, 0, 50
- , 51, 8717, 0, 0, 0, 53, 166, 0, 0, 0
- , 0, 0, 0, 0, 56, 57, 58, 8720, 60, 8723
- , 8726, 8729, 8732, 8736, 8739, 8745, 52, 8749, 8752, 8755
- , 8758, 8762, 45, 0, 71, 0, 1052, 0, 0, 8765
- , 8768, 8771, 8774, 8777, 61, 0, 881, 8780, 63, 64
- , 8783, 0, 66, 67, 68, 69, 70, 0, 807, 8788
- , 0, 0, 0, 1052, 0, 1052, 0, 0, 1052, 0
- , 0, 0, 0, 0, 0, 0, 8791, 0, 1052, 0
- , 0, 0, 0, 0, 0, 0, 0, 35, 0, 0
- , 770, 0, 167, 1052, 236, 0, 0, 0, 1052, 8794
- , 1052, 1052, 1052, 1052, 1309, 1052, 1052, 1052, 1309, 0
- , 8797, 8800, 1052, 0, 0, 1052, 1052, 0, 1052, 8803
- , 8806, 38, 0, 0, 0, 0, 0, 0, 0, 172
- , 0, 0, 617, 0, 515, 516, 517, 35, 50, 8809
- , 52, 0, 635, 0, 53, 0, 0, 0, 280, 8812
- , 8815, 41, 8818, 0, 0, 43, 0, 0, 8821, 0
- , 45, 62, 63, 64, 8824, 0, 66, 67, 68, 8827
- , 8830, 38, 0, 8833, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 107, 0, 41, 42, 173, 0, 0
- , 399, 0, 0, 319, 0, 400, 782, 0, 0, 107
- , 8836, 8839, 42, 0, 0, 8842, 305, 0, 8845, 0
- , 45, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 73, 0, 74, 0, 0, 245, 0, 0
- , 0, 281, 0, 36, 8848, 38, 0, 869, 156, 0
- , 0, 246, 0, 0, 0, 385, 131, 101, 0, 0
- , 0, 0, 132, 673, 0, 596, 0, 0, 0, 892
- , 0, 0, 0, 39, 40, 41, 8851, 51, 52, 8854
- , 0, 0, 8857, 0, 45, 172, 0, 266, 0, 0
- , 527, 0, 103, 0, 0, 945, 659, 0, 156, 62
- , 63, 8861, 65, 0, 66, 67, 68, 69, 8864, 0
- , 8868, 8871, 52, 0, 0, 0, 0, 0, 0, 0
- , 0, 479, 0, 588, 0, 0, 50, 8874, 8877, 8880
- , 0, 103, 53, 0, 0, 531, 0, 0, 0, 0
- , 0, 56, 57, 8883, 8886, 8889, 61, 0, 0, 62
- , 63, 8892, 65, 0, 66, 67, 68, 69, 70, 173
- , 85, 8896, 49, 0, 0, 172, 0, 0, 0, 0
- , 8899, 87, 0, 281, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 8902, 51, 52, 0, 0, 783, 53, 0, 0, 0
- , 0, 0, 54, 55, 0, 56, 57, 58, 59, 60
- , 61, 0, 281, 62, 8905, 64, 65, 0, 8908, 8912
- , 68, 8915, 70, 173, 0, 71, 0, 0, 0, 1385
- , 8918, 0, 0, 0, 223, 0, 0, 8921, 0, 35
- , 17, 0, 0, 0, 823, 0, 0, 0, 0, 0
- , 0, 377, 0, 0, 0, 8924, 532, 710, 0, 0
- , 0, 0, 36, 37, 38, 8927, 1385, 0, 753, 282
- , 0, 36, 8930, 38, 0, 0, 0, 0, 0, 0
- , 0, 0, 86, 91, 0, 0, 0, 36, 37, 38
- , 0, 0, 8933, 40, 41, 42, 0, 0, 8936, 0
- , 0, 8939, 40, 8943, 42, 0, 0, 8946, 0, 0
- , 44, 0, 45, 0, 481, 0, 589, 8949, 40, 8952
- , 42, 0, 0, 43, 0, 533, 8955, 0, 45, 172
- , 916, 0, 0, 0, 0, 0, 0, 72, 0, 0
- , 0, 535, 0, 0, 536, 0, 0, 1020, 0, 284
- , 0, 8958, 37, 8961, 339, 8964, 129, 538, 0, 0
- , 0, 0, 35, 0, 0, 8967, 533, 534, 172, 92
- , 8970, 0, 378, 0, 203, 204, 205, 0, 0, 266
- , 539, 8973, 40, 41, 42, 0, 0, 8976, 0, 0
- , 8980, 0, 45, 0, 8984, 8987, 38, 129, 483, 8990
- , 0, 0, 0, 0, 0, 0, 110, 0, 307, 50
- , 51, 52, 43, 0, 485, 53, 46, 0, 50, 8993
- , 8997, 567, 0, 0, 9000, 40, 9003, 9007, 0, 487
- , 43, 0, 62, 9010, 9014, 9018, 9024, 9027, 9033, 9037
- , 9040, 9045, 9049, 9053, 9057, 343, 66, 9061, 9064, 9067
- , 9072, 550, 0, 9075, 0, 0, 551, 62, 9078, 9082
- , 65, 0, 66, 67, 9086, 9089, 70, 0, 0, 71
- , 49, 28, 0, 0, 0, 0, 486, 208, 680, 487
- , 0, 0, 0, 0, 0, 0, 0, 0, 568, 0
- , 569, 570, 571, 0, 0, 0, 0, 551, 50, 9092
- , 9095, 0, 9098, 488, 53, 0, 0, 0, 0, 0
- , 54, 55, 0, 9102, 9106, 58, 9109, 60, 61, 0
- , 0, 62, 63, 9112, 65, 0, 9115, 9118, 68, 9121
- , 70, 0, 492, 71, 168, 0, 720, 0, 0, 771
- , 0, 50, 9124, 52, 0, 0, 0, 53, 0, 0
- , 489, 0, 284, 330, 0, 0, 0, 346, 0, 0
- , 1052, 0, 0, 35, 9127, 63, 9130, 65, 0, 66
- , 67, 68, 69, 9133, 9136, 0, 9139, 0, 0, 0
- , 0, 0, 492, 1052, 0, 0, 735, 1052, 0, 9142
- , 0, 9145, 9148, 0, 0, 36, 37, 38, 132, 380
- , 0, 754, 1052, 0, 0, 229, 0, 0, 381, 0
- , 0, 285, 0, 773, 0, 947, 0, 1052, 0, 0
- , 0, 0, 1052, 1052, 1052, 9151, 9154, 9158, 9162, 1052
- , 9165, 9168, 0, 0, 9171, 1052, 9174, 0, 1282, 0
- , 1052, 0, 1052, 1052, 1052, 72, 0, 0, 116, 0
- , 0, 0, 0, 0, 0, 0, 837, 0, 796, 0
- , 0, 0, 172, 0, 0, 0, 0, 0, 0, 234
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 101, 0, 14, 15, 0, 0, 0, 0
- , 0, 0, 681, 0, 0, 493, 0, 0, 501, 0
- , 405, 784, 0, 9177, 0, 0, 0, 164, 0, 0
- , 0, 0, 0, 0, 9180, 0, 0, 0, 179, 0
- , 173, 0, 0, 0, 0, 0, 0, 675, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 9184
- , 148, 0, 50, 9187, 52, 848, 0, 0, 53, 0
- , 0, 0, 0, 0, 0, 149, 0, 494, 0, 0
- , 0, 0, 0, 0, 421, 9190, 9193, 9196, 9199, 0
- , 9203, 9206, 68, 69, 70, 0, 0, 71, 0, 150
- , 164, 0, 0, 0, 151, 0, 0, 0, 0, 0
- , 591, 0, 172, 0, 0, 0, 101, 349, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 35
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 785, 0, 0, 0, 0, 0, 0, 0, 411
- , 494, 0, 0, 412, 413, 201, 202, 9210, 9213, 205
- , 0, 9216, 37, 38, 0, 0, 9219, 0, 0, 0
- , 431, 0, 0, 0, 0, 0, 0, 0, 592, 0
- , 0, 0, 0, 0, 0, 17, 0, 808, 0, 0
- , 0, 107, 9223, 41, 42, 772, 510, 43, 0, 0
- , 44, 0, 45, 630, 0, 0, 249, 250, 0, 0
- , 0, 0, 0, 1054, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 249
- , 250, 0, 0, 0, 35, 0, 1054, 251, 0, 0
- , 1054, 9226, 1054, 0, 152, 1054, 755, 0, 26, 0
- , 0, 27, 382, 0, 28, 9229, 207, 0, 0, 0
- , 9232, 9235, 0, 872, 0, 0, 9238, 37, 38, 468
- , 1054, 356, 0, 9241, 37, 9244, 1054, 1054, 9247, 1054
- , 9250, 1054, 1054, 1054, 9253, 0, 0, 9256, 9259, 1054
- , 0, 1283, 0, 9262, 858, 1054, 9265, 9268, 512, 42
- , 0, 593, 9271, 107, 40, 9274, 42, 45, 50, 9277
- , 52, 0, 44, 0, 9280, 0, 0, 0, 0, 0
- , 0, 786, 0, 0, 0, 0, 0, 736, 101, 0
- , 619, 62, 63, 64, 65, 0, 66, 67, 68, 69
- , 70, 0, 0, 71, 0, 0, 35, 0, 0, 0
- , 513, 0, 0, 0, 172, 0, 0, 0, 0, 0
- , 0, 0, 904, 0, 0, 0, 0, 73, 0, 74
- , 0, 0, 0, 0, 266, 0, 253, 0, 9283, 9286
- , 38, 473, 825, 0, 0, 156, 0, 0, 0, 0
- , 647, 0, 9289, 0, 0, 0, 0, 0, 0, 253
- , 0, 254, 0, 286, 0, 0, 0, 787, 107, 9292
- , 41, 42, 173, 50, 9295, 52, 0, 0, 0, 53
- , 50, 51, 52, 847, 0, 255, 53, 0, 56, 57
- , 58, 59, 60, 9298, 0, 41, 9301, 63, 64, 65
- , 0, 66, 67, 9304, 9307, 9310, 65, 0, 9313, 67
- , 68, 69, 70, 0, 0, 71, 0, 0, 0, 0
- , 0, 0, 496, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 683, 0, 0, 0, 0, 0, 0
- , 0, 0, 905, 676, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 156, 849, 0
- , 0, 35, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 93, 884, 0, 101, 0, 0, 0, 0
- , 0, 0, 9316, 0, 0, 9319, 51, 52, 772, 0
- , 0, 53, 0, 36, 37, 38, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 797, 0, 515, 9322
- , 9326, 9330, 52, 66, 67, 68, 69, 70, 0, 311
- , 169, 0, 0, 511, 40, 512, 42, 0, 0, 9333
- , 0, 0, 9336, 0, 9339, 0, 0, 0, 0, 0
- , 0, 36, 9343, 38, 572, 0, 0, 9346, 0, 103
- , 0, 0, 117, 287, 0, 0, 0, 0, 118, 775
- , 0, 0, 0, 0, 0, 0, 36, 37, 9349, 0
- , 0, 39, 40, 41, 42, 0, 0, 9352, 0, 0
- , 9355, 0, 45, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 107, 40, 41, 42
- , 0, 266, 43, 119, 120, 9358, 256, 45, 122, 0
- , 0, 123, 9361, 125, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 35, 172, 47, 0, 0, 0, 0
- , 281, 0, 0, 0, 0, 0, 0, 164, 0, 171
- , 50, 51, 52, 0, 0, 0, 53, 0, 0, 48
- , 0, 0, 0, 0, 0, 9365, 9368, 9372, 9375, 60
- , 9378, 0, 0, 62, 63, 64, 9381, 859, 9384, 67
- , 68, 69, 70, 0, 9387, 71, 0, 0, 0, 0
- , 0, 0, 431, 0, 0, 9390, 40, 9393, 9396, 9399
- , 52, 9402, 0, 0, 9405, 0, 9408, 0, 0, 0
- , 9411, 55, 0, 56, 57, 58, 59, 60, 61, 0
- , 0, 62, 63, 9414, 9417, 52, 66, 67, 68, 9421
- , 70, 36, 37, 9425, 0, 126, 127, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 62, 9428, 64, 9431
- , 0, 9435, 9438, 68, 69, 70, 0, 0, 71, 314
- , 0, 9441, 40, 41, 9444, 0, 0, 43, 918, 0
- , 44, 0, 45, 266, 0, 0, 0, 95, 0, 811
- , 17, 0, 385, 9447, 156, 515, 516, 517, 0, 132
- , 0, 0, 0, 0, 0, 0, 0, 0, 531, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 84, 0
- , 0, 0, 50, 9450, 52, 583, 0, 0, 53, 0
- , 0, 0, 0, 0, 0, 9453, 813, 9456, 57, 9459
- , 59, 60, 61, 723, 0, 62, 63, 9462, 65, 266
- , 66, 67, 68, 9465, 70, 9468, 9472, 9476, 0, 0
- , 156, 0, 0, 0, 0, 9480, 0, 101, 0, 0
- , 0, 36, 9484, 38, 0, 0, 0, 0, 0, 0
- , 0, 154, 0, 0, 0, 758, 40, 41, 9487, 51
- , 52, 9490, 0, 0, 9493, 0, 45, 385, 131, 0
- , 0, 107, 40, 9496, 9501, 9505, 59, 9508, 61, 0
- , 44, 62, 9511, 64, 65, 0, 66, 67, 68, 69
- , 70, 0, 129, 71, 258, 919, 9514, 260, 0, 648
- , 0, 0, 0, 0, 0, 9517, 37, 9520, 938, 9523
- , 0, 713, 886, 0, 0, 130, 131, 0, 0, 0
- , 0, 0, 132, 0, 684, 703, 0, 0, 0, 77
- , 0, 0, 893, 266, 714, 107, 40, 41, 42, 36
- , 9527, 9530, 52, 737, 9534, 172, 9537, 0, 0, 266
- , 0, 0, 0, 0, 0, 0, 838, 715, 0, 0
- , 9540, 0, 0, 0, 0, 0, 0, 0, 0, 107
- , 40, 41, 9543, 51, 52, 43, 0, 0, 9546, 37
- , 9551, 0, 0, 78, 0, 133, 555, 56, 9554, 9558
- , 9561, 9566, 9569, 0, 9573, 9576, 63, 64, 65, 0
- , 66, 67, 68, 9580, 9584, 58, 59, 9587, 9590, 40
- , 9593, 9596, 63, 9600, 9603, 0, 66, 9607, 68, 9610
- , 70, 0, 0, 71, 9613, 289, 0, 0, 0, 0
- , 948, 659, 527, 0, 103, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 245, 0, 9616
- , 0, 0, 9619, 9622, 52, 760, 0, 0, 9625, 839
- , 282, 671, 334, 0, 0, 0, 0, 352, 0, 0
- , 685, 0, 0, 0, 0, 62, 63, 64, 65, 357
- , 66, 9628, 68, 69, 70, 0, 9631, 9635, 52, 0
- , 0, 0, 53, 0, 0, 0, 0, 156, 906, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 9638
- , 9641, 9644, 9648, 98, 66, 9651, 68, 9654, 70, 71
- , 573, 0, 56, 171, 0, 761, 57, 0, 36, 63
- , 0, 37, 64, 0, 38, 65, 0, 172, 42, 0
- , 45, 386, 0, 47, 117, 0, 42, 132, 0, 43
- , 596, 0, 49, 358, 0, 949, 120, 0, 557, 60
- , 0, 61, 80, 0, 788, 500, 0, 818, 66, 0
- , 71, 558, 0, 1123, 51, 0, 1123, 52, 0, 422
- , 53, 0, 1384, 2, 0, 42, 99, 0, 799, 40
- , 0, 921, 650, 43, 0, 651, 44, 0, 41, 35
- , 0, 421, 101, 0, 106, 49, 0, 172, 50, 37
- , 0, 51, 38, 623, 82, 0, 42, 50, 0, 107
- , 44, 53, 0, 690, 40, 0, 41, 45, 0, 44
- , 56, 0, 560, 57, 0, 704, 45, 58, 0, 561
- , 59, 0, 434, 61, 0, 436, 677, 0, 437, 62
- , 0, 438, 63, 0, 439, 64, 0, 440, 65, 0
- , 763, 442, 66, 0, 443, 67, 0, 444, 68, 0
- , 445, 69, 0, 446, 70, 0, 928, 449, 71, 0
- , 450, 100, 0, 451, 527, 0, 453, 103, 0, 785
- , 454, 0, 50, 599, 0, 51, 335, 243, 0, 109
- , 5, 0, 929, 35, 111, 0, 728, 50, 0, 281
- , 53, 0, 461, 50, 336, 0, 52, 337, 0, 53
- , 56, 0, 36, 58, 0, 37, 59, 0, 38, 60
- , 0, 62, 172, 0, 62, 70, 0, 63, 263, 0
- , 922, 65, 71, 0, 66, 520, 0, 40, 344, 0
- , 417, 388, 0, 35, 173, 0, 786, 36, 0, 37
- , 85, 0, 266, 385, 0, 39, 44, 0, 41, 45
- , 35, 0, 45, 35, 615, 0, 53, 35, 0, 58
- , 227, 0, 862, 60, 0, 62, 678, 37, 0, 63
- , 38, 0, 69, 36, 0, 70, 37, 0, 38, 624
- , 0, 908, 71, 563, 0, 107, 44, 0, 41, 45
- , 0, 829, 48, 0, 156, 107, 0, 44, 41, 0
- , 45, 35, 0, 35, 741, 0, 820, 724, 0, 821
- , 50, 0, 50, 37, 229, 0, 51, 38, 0, 53
- , 353, 0, 38, 362, 0, 723, 54, 0, 56, 63
- , 0, 57, 64, 0, 58, 65, 0, 60, 66, 0
- , 61, 67, 0, 62, 70, 0, 64, 338, 0, 65
- , 71, 0, 67, 107, 0, 68, 40, 0, 69, 41
- , 0, 70, 42, 0, 71, 43, 0, 107, 44, 0
- , 41, 45, 0, 156, 107, 0, 44, 41, 0, 156
- , 101, 0, 249, 174, 0, 221, 250, 53, 14, 0
- , 53, 175, 0, 64, 17, 0, 67, 164, 0, 62
- , 70, 0, 65, 71, 176, 0, 251, 389, 177, 0
- , 68, 178, 0, 69, 35, 179, 0, 777, 65, 0
- , 481, 71, 277, 0, 67, 164, 0, 482, 69, 0
- , 156, 252, 0, 210, 235, 0, 876, 211, 102, 0
- , 213, 103, 0, 536, 38, 0, 50, 180, 0, 864
- , 72, 51, 181, 0, 52, 182, 0, 129, 184, 0
- , 538, 185, 0, 53, 186, 0, 50, 189, 0, 51
- , 190, 950, 0, 52, 191, 0, 265, 193, 0, 53
- , 664, 56, 0, 57, 50, 0, 58, 51, 0, 59
- , 52, 0, 60, 321, 194, 0, 638, 61, 107, 195
- , 0, 40, 196, 0, 665, 62, 42, 0, 65, 43
- , 0, 539, 66, 0, 67, 44, 0, 69, 45, 0
- , 319, 62, 70, 0, 909, 65, 71, 0, 625, 420
- , 0, 489, 201, 0, 422, 203, 0, 1384, 204, 0
- , 164, 205, 0, 541, 1384, 0, 545, 425, 0, 549
- , 266, 0, 550, 426, 0, 551, 427, 0, 552, 428
- , 0, 564, 431, 0, 63, 206, 0, 69, 26, 0
- , 432, 31, 0, 36, 433, 0, 895, 435, 0, 939
- , 527, 437, 0, 103, 439, 0, 36, 35, 440, 0
- , 37, 441, 0, 38, 442, 0, 443, 294, 0, 445
- , 1420, 0, 446, 2, 0, 447, 35, 0, 448, 229
- , 1420, 0, 419, 1420, 0, 107, 454, 0, 1388, 41
- , 268, 0, 877, 42, 0, 1388, 43, 0, 421, 455
- , 0, 107, 44, 456, 0, 40, 457, 0, 41, 36
- , 45, 0, 42, 37, 0, 422, 391, 0, 44, 36
- , 0, 45, 423, 38, 0, 426, 1235, 0, 664, 41
- , 427, 0, 44, 41, 0, 666, 42, 0, 888, 45
- , 0, 1384, 43, 0, 429, 44, 0, 281, 41, 45
- , 0, 419, 639, 52, 0, 50, 266, 228, 0, 421
- , 156, 0, 53, 35, 0, 56, 63, 0, 57, 64
- , 0, 58, 65, 0, 60, 66, 0, 61, 432, 67
- , 0, 62, 70, 0, 65, 71, 0, 733, 67, 101
- , 0, 172, 70, 50, 0, 53, 36, 0, 50, 37
- , 0, 51, 38, 0, 930, 101, 53, 0, 691, 52
- , 0, 62, 339, 215, 0, 63, 35, 565, 340, 0
- , 50, 64, 216, 0, 51, 65, 0, 68, 62, 0
- , 69, 63, 0, 70, 64, 0, 71, 66, 0, 129
- , 67, 107, 0, 68, 40, 0, 69, 41, 0, 70
- , 42, 0, 71, 43, 0, 431, 38, 0, 130, 600
- , 0, 131, 601, 0, 437, 322, 0, 655, 439, 0
- , 132, 441, 0, 717, 444, 0, 103, 446, 365, 0
- , 447, 36, 0, 448, 37, 0, 449, 38, 0, 852
- , 602, 0, 511, 454, 0, 103, 40, 8, 0, 791
- , 455, 0, 44, 456, 0, 281, 218, 0, 156, 305
- , 0, 667, 52, 0, 57, 50, 0, 58, 51, 0
- , 59, 52, 0, 61, 107, 0, 53, 41, 0, 62
- , 42, 0, 65, 43, 0, 67, 44, 0, 69, 56
- , 45, 0, 70, 57, 0, 71, 60, 0, 696, 67
- , 0, 697, 68, 0, 698, 69, 0, 699, 70, 0
- , 71, 301, 0, 229, 641, 0, 517, 50, 0, 41
- , 270, 0, 605, 366, 43, 0, 63, 35, 0, 767
- , 65, 0, 68, 135, 0, 35, 219, 0, 35, 38
- , 0, 36, 392, 0, 38, 1052, 0, 132, 1052, 0
- , 107, 1052, 0, 221, 41, 0, 38, 43, 0, 107
- , 44, 0, 41, 45, 0, 43, 1052, 0, 45, 1052
- , 0, 107, 1052, 0, 40, 1350, 0, 41, 1350, 0
- , 42, 1052, 0, 43, 1052, 0, 896, 50, 0, 45
- , 51, 0, 642, 53, 0, 344, 70, 0, 513, 136
- , 0, 832, 38, 0, 106, 156, 0, 156, 107, 53
- , 0, 41, 606, 0, 42, 50, 0, 43, 323, 0
- , 44, 53, 41, 0, 45, 63, 0, 66, 138, 0
- , 62, 70, 0, 50, 64, 0, 51, 65, 71, 0
- , 53, 69, 0, 70, 300, 0, 65, 644, 0, 743
- , 66, 0, 69, 35, 0, 110, 78, 0, 214, 36
- , 0, 106, 156, 0, 657, 111, 627, 0, 112, 40
- , 0, 53, 41, 0, 319, 113, 42, 50, 0, 114
- , 52, 0, 878, 768, 43, 0, 44, 53, 0, 56
- , 45, 0, 319, 62, 0, 64, 130, 0, 706, 65
- , 131, 0, 68, 62, 0, 69, 63, 0, 70, 132
- , 64, 0, 35, 65, 0, 71, 66, 0, 304, 70
- , 0, 229, 109, 0, 42, 580, 0, 45, 658, 111
- , 0, 419, 659, 0, 421, 107, 0, 42, 50, 0
- , 1414, 51, 0, 1414, 43, 0, 422, 44, 53, 0
- , 424, 343, 0, 1384, 56, 0, 779, 57, 0, 35
- , 58, 0, 425, 60, 0, 348, 61, 0, 1414, 730
- , 0, 101, 14, 0, 62, 15, 0, 282, 63, 0
- , 172, 64, 0, 426, 66, 0, 428, 71, 0, 889
- , 16, 0, 35, 792, 0, 924, 1384, 0, 41, 36
- , 0, 42, 37, 18, 0, 79, 139, 0, 160, 36
- , 0, 36, 430, 38, 0, 37, 468, 0, 38, 803
- , 0, 174, 40, 0, 843, 110, 0, 51, 161, 0
- , 609, 40, 19, 0, 107, 41, 20, 0, 40, 526
- , 42, 0, 41, 21, 0, 43, 22, 0, 44, 45
- , 0, 62, 50, 0, 45, 63, 51, 0, 64, 52
- , 0, 67, 53, 0, 71, 527, 0, 583, 475, 0
- , 432, 581, 0, 306, 63, 0, 229, 64, 0, 476
- , 66, 0, 37, 266, 0, 671, 50, 0, 36, 433
- , 0, 436, 107, 281, 0, 437, 40, 0, 438, 41
- , 56, 0, 439, 42, 57, 0, 440, 58, 0, 441
- , 59, 0, 442, 43, 60, 0, 443, 61, 0, 445
- , 44, 0, 446, 62, 50, 0, 447, 45, 63, 51
- , 0, 50, 448, 64, 52, 0, 51, 449, 65, 0
- , 52, 450, 506, 0, 451, 66, 0, 452, 67, 660
- , 53, 0, 453, 68, 0, 53, 69, 0, 70, 661
- , 0, 107, 454, 272, 0, 315, 62, 0, 44, 456
- , 63, 0, 62, 457, 64, 0, 45, 63, 65, 0
- , 65, 66, 0, 66, 68, 0, 67, 69, 0, 68
- , 70, 0, 71, 610, 0, 101, 26, 0, 458, 171
- , 35, 0, 459, 27, 0, 84, 28, 0, 719, 30
- , 0, 671, 37, 0, 943, 662, 316, 0, 912, 663
- , 32, 0, 669, 214, 0, 671, 50, 0, 53, 41
- , 0, 50, 64, 0, 51, 65, 0, 53, 69, 0
- , 319, 62, 0, 63, 209, 0, 64, 210, 0, 931
- , 65, 211, 0, 66, 213, 0, 67, 708, 0, 366
- , 140, 0, 477, 40, 0, 36, 45, 0, 50, 37
- , 0, 944, 51, 38, 0, 132, 52, 0, 57, 397
- , 0, 67, 107, 0, 68, 40, 0, 69, 41, 0
- , 70, 42, 50, 0, 781, 71, 43, 0, 826, 83
- , 0, 266, 52, 0, 890, 156, 0, 273, 160, 0
- , 107, 69, 0, 41, 35, 0, 634, 71, 161, 0
- , 15, 50, 0, 370, 354, 0, 36, 63, 0, 37
- , 64, 0, 38, 65, 0, 176, 66, 0, 372, 67
- , 0, 178, 70, 0, 35, 179, 0, 913, 689, 0
- , 731, 300, 0, 164, 44, 0, 36, 45, 0, 805
- , 183, 0, 822, 184, 0, 186, 345, 0, 900, 191
- , 0, 107, 195, 0, 40, 196, 0, 43, 507, 0
- , 51, 583, 0, 368, 274, 0, 245, 52, 0, 56
- , 36, 0, 671, 57, 37, 0, 58, 38, 0, 60
- , 1362, 141, 0, 67, 101, 0, 51, 117, 0, 53
- , 41, 0, 42, 118, 0, 43, 1362, 0, 63, 373
- , 0, 64, 585, 0, 71, 309, 1362, 0, 478, 123
- , 0, 465, 124, 0, 103, 125, 0, 419, 210, 266
- , 0, 421, 156, 0, 933, 174, 222, 0, 221, 14
- , 0, 172, 50, 0, 508, 372, 0, 107, 281, 398
- , 0, 41, 63, 0, 172, 42, 64, 85, 0, 69
- , 36, 0, 70, 37, 0, 71, 86, 0, 106, 87
- , 0, 914, 165, 0, 183, 126, 0, 184, 127, 0
- , 319, 172, 187, 0, 431, 188, 0, 901, 190, 0
- , 191, 107, 0, 192, 40, 0, 193, 41, 0, 586
- , 194, 0, 891, 795, 195, 44, 0, 833, 35, 0
- , 173, 38, 0, 692, 511, 0, 173, 108, 0, 45
- , 199, 88, 0, 40, 89, 0, 42, 50, 109, 0
- , 745, 513, 0, 229, 52, 0, 646, 112, 0, 868
- , 53, 0, 266, 115, 0, 583, 693, 0, 694, 57
- , 0, 471, 60, 0, 37, 27, 0, 52, 129, 0
- , 59, 310, 0, 696, 61, 0, 902, 697, 0, 107
- , 698, 0, 40, 699, 62, 0, 41, 63, 0, 42
- , 50, 64, 327, 130, 0, 51, 65, 131, 0, 43
- , 66, 0, 67, 31, 0, 68, 32, 0, 44, 53
- , 69, 0, 70, 132, 0, 56, 209, 0, 57, 210
- , 0, 58, 211, 0, 59, 212, 0, 60, 213, 0
- , 62, 77, 0, 934, 847, 65, 90, 0, 1052, 71
- , 0, 1052, 101, 0, 248, 1052, 0, 156, 1052, 0
- , 1052, 709, 0, 1052, 36, 0, 1052, 37, 0, 51
- , 732, 0, 287, 107, 0, 103, 40, 0, 303, 42
- , 0, 101, 44, 0, 657, 65, 0, 69, 36, 0
- , 70, 37, 0, 71, 587, 0, 40, 304, 0, 41
- , 35, 0, 43, 401, 0, 101, 44, 0, 915, 37
- , 0, 42, 50, 0, 43, 143, 0, 733, 44, 53
- , 0, 172, 64, 0, 402, 328, 70, 0, 50, 403
- , 0, 51, 71, 0, 51, 47, 0, 52, 375, 0
- , 480, 404, 0, 173, 58, 0, 385, 59, 0, 131
- , 60, 0, 132, 64, 48, 0, 700, 71, 0, 86
- , 628, 0, 509, 50, 0, 1389, 63, 0, 746, 1389
- , 66, 0, 67, 164, 0, 94, 69, 0, 306, 35
- , 0, 1385, 376, 0, 734, 35, 0, 229, 237, 0
- , 37, 85, 0, 106, 107, 0, 1323, 43, 0, 501
- , 107, 44, 0, 41, 45, 0, 1020, 43, 0, 482
- , 107, 0, 41, 35, 0, 534, 44, 0, 1323, 36
- , 0, 537, 38, 0, 946, 590, 0, 501, 78, 0
- , 679, 247, 0, 156, 39, 0, 173, 481, 43, 0
- , 156, 482, 44, 0, 36, 674, 0, 37, 468, 0
- , 870, 484, 0, 51, 111, 283, 0, 641, 52, 0
- , 107, 53, 0, 41, 486, 173, 0, 42, 489, 0
- , 44, 56, 63, 0, 57, 50, 64, 0, 45, 58
- , 51, 65, 47, 0, 59, 52, 0, 903, 481, 60
- , 540, 66, 0, 61, 541, 67, 0, 542, 68, 0
- , 482, 543, 53, 69, 0, 62, 544, 70, 0, 63
- , 545, 144, 0, 64, 546, 472, 0, 65, 547, 71
- , 0, 67, 145, 0, 483, 68, 0, 484, 69, 548
- , 146, 0, 70, 549, 0, 71, 488, 0, 552, 63
- , 379, 0, 492, 64, 48, 0, 485, 68, 0, 69
- , 26, 0, 552, 51, 0, 489, 52, 0, 468, 629
- , 238, 0, 110, 221, 56, 0, 490, 57, 0, 491
- , 59, 0, 835, 64, 0, 871, 66, 0, 466, 67
- , 0, 329, 69, 0, 51, 772, 0, 62, 490, 0
- , 64, 491, 0, 882, 70, 0, 883, 224, 0, 71
- , 612, 0, 1052, 147, 0, 836, 385, 0, 131, 1052
- , 0, 1052, 107, 0, 917, 1052, 40, 0, 857, 1052
- , 41, 0, 1052, 42, 0, 701, 1052, 0, 1052, 43
- , 0, 1052, 44, 0, 1052, 45, 0, 17, 248, 0
- , 501, 177, 156, 0, 935, 331, 0, 618, 51, 0
- , 406, 62, 0, 407, 63, 0, 408, 64, 0, 553
- , 409, 65, 0, 410, 66, 0, 824, 682, 67, 0
- , 203, 308, 0, 204, 239, 0, 36, 495, 0, 936
- , 101, 94, 0, 40, 771, 0, 35, 414, 0, 252
- , 1054, 0, 208, 251, 0, 521, 383, 0, 36, 774
- , 0, 36, 240, 0, 1054, 38, 0, 1054, 252, 0
- , 110, 1054, 0, 1054, 43, 0, 1054, 31, 0, 1054
- , 32, 0, 937, 1054, 0, 511, 1054, 0, 40, 1054
- , 0, 693, 43, 0, 44, 41, 0, 51, 43, 0
- , 53, 45, 0, 702, 36, 0, 319, 37, 0, 156
- , 332, 0, 809, 40, 0, 51, 43, 0, 61, 107
- , 0, 62, 42, 0, 68, 62, 0, 69, 63, 0
- , 70, 64, 0, 71, 66, 0, 747, 497, 0, 771
- , 50, 0, 516, 63, 35, 0, 517, 50, 276, 0
- , 51, 65, 0, 43, 75, 0, 44, 312, 0, 45
- , 35, 384, 0, 756, 37, 0, 757, 721, 0, 38
- , 241, 0, 513, 43, 0, 594, 44, 0, 44, 121
- , 0, 156, 350, 124, 0, 56, 36, 0, 172, 57
- , 37, 0, 58, 38, 0, 59, 415, 0, 61, 49
- , 0, 810, 65, 0, 554, 66, 0, 711, 474, 0
- , 156, 107, 0, 282, 41, 0, 42, 50, 0, 35
- , 51, 0, 613, 43, 0, 44, 53, 0, 873, 45
- , 0, 614, 54, 0, 50, 64, 0, 712, 51, 65
- , 0, 164, 53, 69, 0, 38, 71, 0, 63, 128
- , 0, 65, 333, 153, 0, 498, 66, 0, 67, 351
- , 0, 107, 94, 0, 42, 229, 0, 131, 514, 0
- , 35, 51, 0, 812, 722, 0, 814, 56, 0, 35
- , 58, 0, 172, 64, 0, 107, 69, 0, 41, 36
- , 72, 0, 42, 37, 347, 0, 38, 620, 71, 0
- , 826, 288, 257, 0, 37, 313, 0, 42, 50, 0
- , 43, 155, 0, 44, 53, 0, 41, 56, 35, 225
- , 0, 42, 57, 132, 0, 712, 58, 0, 43, 60
- , 0, 45, 63, 0, 259, 76, 0, 282, 36, 0
- , 35, 38, 0, 657, 885, 759, 0, 50, 37, 0
- , 51, 38, 43, 0, 156, 44, 0, 45, 35, 0
- , 156, 101, 0, 42, 50, 0, 44, 53, 36, 96
- , 0, 45, 38, 0, 57, 50, 97, 0, 58, 51
- , 0, 874, 860, 59, 52, 0, 60, 556, 0, 61
- , 107, 170, 0, 53, 41, 0, 62, 172, 42, 0
- , 69, 56, 173, 0, 70, 57, 0, 71, 60, 0
- , 61, 107, 0, 164, 41, 0, 62, 621, 42, 0
- , 64, 266, 0, 65, 43, 261, 0, 67, 44, 0
- , 69, 45, 0, 827, 156, 0, 815, 499, 0, 816
- , 50, 0, 173, 51, 0, 669, 53, 0, 416, 67
- , 0, 50, 229, 266, 0, 51, 71, 0, 62, 50
- , 0, 63, 51, 0, 64, 711, 52, 0, 65, 242
- , 0, 67, 281, 0, 69, 35, 0) ;
- --| Actions to perform for all combinations of parser
- --| states and input tokens.
- -- NYU Reference Name: ACTION_TABLE1
-
- ActionTableTwo :
- constant array (ActionTableTwoRange)
- of GC.ParserInteger :=
- ( 0, 0, 0, 0,77438,77439,77440, 0, 0, 0
- ,77444, 0, 0, 0, 0, 0, 0,171478, 0, 0
- , 0,77455,77456,77457,77458, 0, 0,77461, 0, 0
- , 0, 0,77466,77467,77468,77469,77470, 0, 0,77473
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,127271,127272
- ,127273, 0,243426, 0,127277, 0, 0,127280, 0, 0
- , 0, 5602, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,226853, 0, 0, 0, 0, 0, 0,304294
- , 0, 0, 0,127306,243458,243459,243460,215806, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,88614,199235
- ,143926,143927, 0,271142,243488,243489,243490, 0, 0, 0
- , 0, 0, 0,243497, 0,243499,127349, 0,143944, 0
- , 0,116292, 0, 0, 0, 0, 0, 0,94175,260106
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,88659, 0,88661, 0, 0, 0, 0
- , 0,88667,88668,88669,33360,127388,127389,127390,160577, 0
- ,287792,127394, 0, 0, 0, 0,177178,127400,127401, 0
- ,127403,127404,127405,127406, 0, 0, 0, 0,127411,127412
- ,127413,127414,243566,127416,127417,127418,127419,127420, 0, 0
- ,127423, 0, 0,243577, 0, 0,276766, 0, 0, 0
- ,249115, 0,22346, 0,22348, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,243605,243606,243607, 0, 0,72149,243611,298922,72152
- , 0,298925,22376,22377,22378,22379, 0, 0,22382, 0
- ,160659, 0, 0, 0,243628,243629,243630,243631, 0, 0
- ,243634,243635,243636,243637,276824, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0,88781,88782, 0, 0,33475
- , 0, 0, 0, 0, 0,293438, 0,88793,193883, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0,249209, 0, 0, 0, 0, 0
- , 0, 0,127535,138598,138599, 0,265814, 0, 0, 0
- ,138605, 0,55642,138608, 0, 0, 0, 0, 0, 0
- , 0,22465, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,199469, 0,199471,216065, 0, 0,216068
- , 0,199477, 0,199479, 0,199481,199482, 0, 0,22493
- , 0, 0,199488, 0,199490, 0, 0,44625, 0,199495
- ,199496, 0, 0,282464,199500, 0, 0, 0,199504, 0
- ,199506, 0, 0, 0, 5925,22519, 0,199513, 0,22523
- ,22524,22525,199518, 0,199520, 0, 0,99965, 0,44657
- ,44658,44659,199528,199529, 0, 0,199532, 0,199534, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 431, 0, 0, 0, 0, 0, 0, 0,44687
- , 0,44689,44690,199559,299118, 0, 0, 0, 0, 0
- ,44698, 0,171913, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0,133208, 0, 0, 0, 0, 0
- ,260427, 0, 0,216182, 0, 0, 0, 0,94505, 0
- , 0, 0, 0,293626, 0, 0, 0, 0, 0,188543
- , 0, 0,188546,44741, 0, 0, 0, 0, 0, 0
- ,177492, 0, 0, 0, 0,199621, 0, 0, 0, 0
- ,277060, 0, 0, 0, 0, 0, 0,44765, 0, 0
- , 0, 0, 0,77957,77958,77959, 0, 0, 0, 0
- , 0, 0,177524, 0, 0,199651, 0,105626, 0, 0
- ,254966, 0, 0,254969,133288, 0, 0, 0, 0, 0
- , 0,304756, 0,77987,77988,77989, 0,44805,44806,77993
- , 0, 0, 0, 0, 0,177557, 0, 0,177560,44817
- , 0, 0, 0, 0, 0,44823, 0,199693, 0, 0
- , 0, 0, 0,199699, 0, 0, 0, 0, 0,199705
- ,199706, 0, 0, 0,199710, 0, 0, 0, 0, 0
- , 0, 0, 0, 0,144410, 0, 0, 0,188662, 0
- ,199726, 0,199728,199729, 0, 0, 0,122299, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,293771, 0
- , 630, 0, 632, 633, 0, 0, 636,199753,199754,199755
- ,177632, 0,78076, 0, 0, 0,122328, 0, 0, 0
- , 0,177643, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0,138941,238500,127881,55979
- , 0,78105,78106, 0, 0, 0, 0, 0, 0, 0
- ,177672, 0, 0, 0, 0, 0,78120, 0, 0, 0
- ,78124, 0, 0, 0,78128,78129,78130, 0,78132,78133
- ,78134,78135, 0, 0,177696, 0,100264, 0,177700,177701
- ,177702,177703, 0, 0,177706, 0, 0,255143, 0,255145
- ,255146, 0, 0,255149, 0, 0,255152, 0,255154,116880
- ,127943, 731, 0, 0,244098, 0, 0, 0, 0,277289
- , 0, 0, 0, 0, 0, 0, 0, 0,277298, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- ,188814, 0,216471, 0, 0, 765,216475, 0, 0, 0
- , 0,255197, 0, 0,271793, 0, 0,271796, 0, 0
- , 0, 0,45030, 0,89280,89281, 0, 0, 0, 0
- , 0, 0,188846, 0,188848, 0,244160,277347,277348,277349
- ,277350, 0,244166,56113, 0, 0,255232, 0, 0, 0
- , 0, 0, 0,89309,89310,89311,89312,233119, 0,89315
- , 0, 0, 0,188877, 0,188879, 0, 0,188882, 0
- , 0,188885, 0, 0,255260,255261,255262,233139, 0,133583
- , 0, 0, 0, 0, 0, 0, 0,128060, 0,255275
- ,255276, 0,255278, 0,255280,271874,78290, 0, 0,255285
- ,255286, 0,255288,255289,255290, 0, 0, 0, 0, 0
- , 0, 0,50651,50652,50653, 0,188930, 0, 0, 0
- , 0, 0, 0, 0, 0, 0,78320,78321,78322,78323
- , 0,89387,78326, 0, 0, 0,177888, 0,177890, 0
- , 0,177893, 0,50682, 0,50684, 0, 0,50687,94936
- , 0,188965, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,89427,89428,122615, 0, 0,89432, 0,166868, 0
- , 0,188995,122624,222183, 0, 0, 0,266435,266436, 0
- , 0, 0,189006,89449, 0, 0, 0,189011, 0, 0
- ,89456,89457, 0,189017, 0, 0, 0,189021, 0, 0
- , 0, 0, 0,177965, 0,78409, 0, 0,266466, 0
- ,266468, 0, 0,266471, 0, 0, 0,139262,266476, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,78437,78438,78439,255432,183530, 0, 0
- ,28665, 0,178004,178005,178006, 0, 0, 0,178010,50798
- ,50799,50800,166952, 0, 0, 0,78460,78461, 0,78463
- , 0,78465, 0,78467,78468, 0,178028,178029, 0, 0
- ,178032,178033, 0, 0,178036, 0,166976, 0, 0,50828
- , 0,50830, 0, 0, 0,266543, 0, 0,272077,272078
- ,277610,216770, 0, 0,216773, 0,266554, 0, 0, 0
- , 0, 0, 0,139348,272093,45323,45324, 0, 0, 0
- , 0, 0,56392, 0, 0, 0, 0, 0,28743, 0
- , 0, 0,28747,28748, 0, 0, 0,28752, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,45355, 0,167039
- ,167040, 0, 0, 0, 0,167045, 0, 0,266606,266607
- , 0, 0,266610,266611,266612,266613,266614, 0, 0,266617
- ,205777, 0, 0,194718, 0, 0, 0, 0, 0, 0
- ,106229, 0,106231, 0,100702, 0,12208, 0,106237, 0
- , 0, 0,106241,106242,28809, 0,28811,28812,28813, 0
- , 0,28816, 0, 0, 0, 0,106255,106256, 0, 0
- ,272189, 0,272191,272192,272193, 0,272195,272196,128391, 0
- , 0,106270,272201, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,272211, 0,45442,261152, 0,211375, 0, 0
- ,106289, 0, 0,106292, 0,106294,106295,178199, 0, 0
- ,133954, 0, 0, 0,288826, 0, 0,244581, 0, 0
- , 0, 0,45470,45471,45472, 0, 0, 0,45476, 0
- ,106319, 0,56542,216942, 0, 0, 0,45485, 0, 0
- , 0, 0,95269, 0, 0,45493, 0,45495,45496, 0
- ,45498,45499,45500, 0,45502, 0,28911,45505, 0,28914
- ,122942,28916, 0, 0, 0,28920, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,194863, 0
- , 0,222521, 0, 0, 0, 0, 0, 0,266776, 0
- , 0, 0, 0,28948,294437, 0, 0, 0, 0, 0
- , 0, 0, 0,28958,28959,28960,28961,28962,211486, 0
- , 0, 0, 0, 0, 0, 0,167246,139592, 0, 0
- ,106409,106410,106411, 0, 0, 0,28981, 0,128541, 0
- , 0, 0, 0, 0, 0, 0, 0,228108, 0, 0
- ,183863, 0, 0, 0, 0,294488,266834, 0, 0,283430
- , 0, 0, 0, 0, 0, 0, 0, 0, 1358, 1359
- , 0,128574,128575,106452, 0,106454, 0,106456, 0, 0
- , 0, 0, 0,106462, 0, 0, 0, 0,106467,106468
- ,106469,106470,106471, 0,145190, 0, 0, 0, 0, 0
- , 0,128604, 0, 0,145200, 1395, 0, 0, 0, 0
- , 0, 0, 0,172864, 0,228176, 0,145213, 0,45657
- , 0,145217,244776,239246, 0,145221, 0, 0, 0,145225
- , 0, 0,73325, 0,106513,106514,106515, 0, 0, 0
- , 0,172892,172893, 0,172895,145241, 0,172898,45686,45687
- , 0, 0, 0, 0, 0, 0, 0, 0,123130, 0
- ,145256, 0, 0,228224, 0, 0,244820, 0,244822,244823
- ,112080, 0, 0, 0,18057, 0,106555, 0,128681, 0
- , 0, 0, 0, 0,145280, 0, 0,228248, 0,128692
- , 0, 0, 0, 0, 0, 0, 0, 0,228259, 0
- , 0, 0,106581, 0,106583, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,128720,128721, 0
- , 0, 0, 0,128726, 0, 0, 0,228288,228289, 0
- , 0, 0, 0,34709, 0,95552, 0,45775, 0, 0
- ,128743, 0, 0, 0,228305, 0, 0,128750,128751, 0
- ,228311,228312, 0,134287,228315, 0,228317,228318, 0,173010
- ,173011,228322, 0, 0, 0, 0, 0,45805, 0, 0
- , 0, 0,278112, 0,145370,145371, 0, 0, 0,305774
- ,45818, 0, 0, 0, 0,244939,173037,173038, 0, 0
- , 0,45829,228353, 0, 0, 0, 0, 0,139863, 0
- , 0, 0, 0,123275, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0,167534,167535, 0, 0, 0, 0
- , 0,145417, 0,145419, 0,145421,145422, 0,145424, 0
- , 0, 0, 0,145429,145430,145431, 0, 0, 0, 0
- , 1630, 1631, 1632,178625, 0, 0,167566,167567, 0, 0
- ,167570, 0, 0, 0,145450,167575, 0, 0, 0, 0
- ,139925,139926,139927,139928, 0, 0,139931, 0, 0,139934
- , 0,139936, 0, 0,239497,239498, 0, 0,145474,145475
- ,145476,239504, 0,23797, 0, 0, 0,222917, 0, 0
- , 0, 0,211860, 0, 0,211863,228457,228458,167618,128902
- , 0,311427, 0, 0, 0, 0, 0, 0,57008,311435
- ,206347,23825,23826,23827,139979, 0, 0,23831,173169,45957
- ,145516, 0,167642, 0,29369, 0, 0, 0,245082, 0
- , 0, 0, 0,167653, 0,23849,23850,23851,140003,23853
- ,23854,23855,23856,23857,239567, 0, 1736, 0,278288, 0
- , 0,45989,45990,45991, 0, 1745, 0,278297,200864, 0
- , 0,167681,167682, 0, 0, 0, 0,167687, 0, 0
- , 0, 0, 0, 0, 0, 0,167696, 0, 0, 0
- ,167700, 0,46020, 0, 0,167705,167706, 0, 0,167709
- , 0,167711, 0, 0,140059,140060, 0,140062,272807, 0
- ,140065,140066,140067,140068, 0,140070, 0, 0, 0, 0
- , 0, 0, 0, 0,134548,134549, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- ,289442, 0, 0, 0, 0,134579, 0, 0,134582, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0,46097
- , 0, 0, 0,57163, 0, 0, 0, 0, 0,134603
- ,46108, 0, 0,35049,35050, 0,162265, 0, 0, 0
- ,151207,51650,256298,51652, 0, 0, 0,234179,151215, 0
- , 0, 0, 0, 0,167814, 0,167816,167817, 0,46137
- ,46138, 0, 0, 0,46142, 0, 0, 0, 0, 0
- , 0,51680,51681, 0,51683, 0, 0, 0, 0,178901
- , 0,46159, 0,46161, 0, 0,46164,46165, 0,46167
- ,46168, 0, 0,46171, 0, 0,134670, 0,134672,134673
- ,134674, 0,12994, 0, 0,134679, 0,134681, 0, 0
- , 0, 0,295085, 0,40661,40662, 0, 0, 0, 0
- , 0, 0, 0, 0,140229, 0, 0, 0, 0,13021
- , 0,13023, 0, 0,13026,295108,295109, 0, 0, 0
- , 0, 0, 0, 0, 0,40692, 0,40694,212156,212157
- , 0, 0, 0, 0,140259, 0,140261, 0, 0, 0
- ,51769, 0,140267, 0, 0,13057,13058,13059,13060,13061
- ,13062,13063,13064,13065, 0, 0,13068,13069, 0, 0
- , 0, 0,13074, 0, 0,13077,13078,212195, 0, 0
- ,51799, 0, 0, 0, 0,173486,223266, 0, 0, 0
- , 0,57341, 0, 0, 0,173496, 0,311773, 0, 0
- , 0, 0,46290, 0,51823, 0, 0, 0,51827,51828
- , 0, 0,40769, 0, 0, 0,129269, 0, 0, 0
- , 0,140336, 0,40780, 0,57375, 0,173528,173529, 0
- , 0, 0, 0, 0,46322,46323,46324, 0,300752, 0
- , 0, 0, 0, 0, 0, 0,212264, 0, 0, 0
- , 0,40808,40809,40810,18687, 0, 0, 0,173559, 0
- , 0,140376,140377, 0,46352,46353, 0,46355,173569, 0
- ,46358, 0, 0,46361,40831, 0,40833,40834, 0, 0
- ,40837,40838,40839, 0,140399, 0, 0,212305,140403,140404
- ,140405, 0, 0, 0, 0,140410, 0, 0, 0, 0
- ,212318,212319,212320,212321,212322,212323, 0, 0,212326,212327
- ,212328, 0, 0, 0,212332,212333, 0,212335, 0, 0
- ,212338, 0, 0, 0,267652,157033, 0, 0, 0, 0
- , 0, 0, 0, 0, 0,173636, 0, 0, 0, 0
- , 0, 0,46430,289795, 0, 0, 0, 0, 0,79623
- ,79624, 0,151529, 0, 0, 0, 0,35383, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,129424, 0, 0,173675,173676,173677,107306,79652, 0
- , 0, 0,46470, 0, 0,173686, 0, 0, 0, 0
- ,173691,173692,173693,173694,173695, 0,46484, 0,173699, 0
- , 0, 0,173703,173704, 0, 0, 0, 0, 0, 0
- ,46498,46499,46500, 0, 0,13317,46504,68629, 0,123941
- , 0, 0,212440, 0, 0, 0, 0, 0, 0, 0
- ,112890, 0,79706, 0, 0,96302,68648, 0, 0,267767
- ,267768,267769, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0,195884
- , 0, 0,112922,112923,112924, 0,68678,79741, 0,267797
- ,267798,267799, 0, 0, 0,267803,140591, 0,267806,256745
- , 0, 0, 0, 0, 0, 0, 0,256753, 0,256755
- , 0,256757, 0,112953,112954, 0, 0,79771, 0, 0
- , 0, 0,256768,112963,79778,256771, 0,96374,240181,96376
- , 0, 0, 0,79787, 0, 0, 0, 0, 0, 0
- , 0,79795, 0, 0,79798,79799,79800,79801,256794, 0
- , 0,101929, 0, 0, 0,46623, 2376, 0, 0, 0
- , 0, 0,256808, 0, 0, 0,201502,267875, 0,129602
- , 0, 0, 0, 0, 0, 0, 0, 0,267886,267887
- , 0,267889, 0, 0, 0, 0, 0, 0,46656, 0
- , 0, 0, 0, 0,201530, 0,201532,201533,256844, 0
- ,201536, 0, 0,201539, 0,201541,267914, 0,267916, 0
- ,96457, 0,267920,151770,113054,151772, 0,46685, 0, 0
- , 0, 0,273461, 0, 0,273464,46694, 0, 0, 0
- , 0, 0,267940,312189,267942, 0,267944,267945,267946, 0
- , 0, 0, 0,129676, 0,190519, 0, 0, 0, 0
- , 0, 0,113092, 0, 0,113095, 0, 0,113098,113099
- ,113100,113101,207129, 0,113104, 0, 0, 0, 0, 0
- , 0, 0,201608,234795, 0, 0, 0, 0, 0,256925
- ,256926,256927, 0,201619, 0, 0, 0,279057, 0,267997
- , 2510, 2511,185035, 0,207161, 0,207163,273536, 0, 0
- , 0, 0, 0,190577, 0, 0,46774, 0,273547,273548
- , 0, 0,201648,201649, 0, 0, 0,201653, 0, 0
- ,279090,279091,256968,256969, 0, 0, 0, 0, 0, 0
- , 0, 0,256978, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0,245928, 0,201682, 0, 0, 0
- ,279120,279121,279122, 0, 0,279125,257002, 0, 0, 0
- , 0,273600, 0,46831, 0, 0, 0,273606,273607,46837
- , 0, 0, 0, 0, 2594, 0, 0,201713, 0,290211
- , 0, 0, 0, 0, 0,257031, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,207269, 0,240457, 0, 0, 0, 0, 0
- ,207277, 0, 2632, 0,207281,113255, 0,113257, 0, 0
- , 2640, 0, 0, 0, 0,257071, 0,279197, 0,140924
- , 0, 0,223892, 0, 0, 0, 0,268145, 0,279209
- , 0, 0,207309,207310, 0,113285,113286, 0,113288,30324
- , 0,113291, 0,223913,113294,223915,113296, 0, 0,312415
- , 0, 0, 0, 0,207331,207332, 0, 0,279238,207336
- ,207337,207338, 0,207340, 0, 0,207343,58007, 0,58009
- ,58010, 0, 0, 0,102262, 0, 0, 0,46956, 0
- , 0, 0, 0,246077, 0, 0,279266,279267,279268,113339
- ,74623,279271, 0, 0, 0, 0, 0, 2727, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,129950, 0, 0
- ,46988,46989,46990,113363,102302, 0, 0, 0, 0,91245
- , 0, 0, 0,102311,113374, 0,223996, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- ,47018, 0,47020,47021, 0, 0,47024,273796,273797,47027
- , 0, 0, 0, 0, 0,290397,58096, 0,113408, 0
- , 0, 0, 0, 0,246158, 0, 0,113417, 0,113419
- ,113420,113421,113422, 0,141079,113425,113426,113427,113428, 0
- ,113430, 0, 0, 0, 0,58125,58126, 0, 0, 0
- ,91316, 0,91318, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,47096, 0
- ,36036, 0, 0,36039, 0, 0, 0, 0, 0,47107
- ,262817, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 8405, 0, 0, 0, 0, 0
- , 0, 0,25006, 0, 0, 0, 0,47135,47136, 0
- , 0, 0, 0,47141,80328, 0, 0, 0, 0, 0
- , 0,307106, 0,30558, 0,30560, 0, 0, 0, 0
- ,47158,47159,47160,47161, 0,47163,47164,47165, 0,47167
- , 0,251816, 0, 0,152261, 0,168856,168857, 0,91425
- ,91426, 0, 0, 0,91430, 0, 0, 0, 0, 0
- , 0,96968, 0, 0, 0, 0,168876, 0, 0,224189
- , 0,91447, 0, 0, 0, 0, 0, 0,91454,91455
- , 0, 0,108051,91459, 0, 0,168896, 0, 0, 2969
- , 0, 0,108061, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,141257,141258,141259,141260, 0, 0,141263, 0
- , 0, 0, 0, 0,185517,185518, 0, 0, 0, 0
- , 0, 0, 0,168933,168934,168935, 0, 0,168938, 0
- ,168940,168941,168942,168943, 0,168945,168946, 0, 0,124701
- , 0,130234,168952, 0, 0,185548,185549, 0, 0, 0
- ,58340, 0,185555, 0,185557,251930, 0,251932, 0, 0
- , 0,240874, 0, 0, 0, 0,30701, 0, 0, 0
- , 0,69423,240885, 0, 0, 0, 0, 0, 0, 0
- ,141335,69433,69434, 0, 0, 0, 0, 0, 0, 0
- , 0,141346, 0, 0,169004,169005,169006, 0, 0,229850
- , 0, 0,91578,102641, 0,174546, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,75000, 0,141374
- ,141375, 0,75005, 0, 0,141380, 0, 0, 0, 0
- , 0,274130,185635,185636, 0, 0, 0,141392, 0,141394
- , 0,246485,141397,141398,141399,141400, 0,141402, 0,141404
- ,141405,141406, 0, 0,141409, 0, 0, 0, 0, 0
- ,185663, 0,185665, 0,91640,91641, 0, 0,69520, 0
- , 0, 0,218861,91649, 0,91651, 0, 0, 0, 0
- , 0, 0,141437,185686, 0, 0,185689, 0,185691,185692
- ,185693,185694,185695, 0,169104, 0, 0, 0, 0,169109
- , 0, 0, 0,36369, 0,263142,36372, 0,263145, 0
- , 0, 0,36378,36379,36380,36381,36382,36383, 0, 0
- , 0, 0, 0,52982, 0, 0, 0, 0, 0, 0
- ,169140,169141, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,169151, 0,169153,169154,169155, 0, 0, 0, 0
- ,97257, 0, 0, 0, 0, 0,97263, 0, 0,58549
- , 0, 0, 0,25367, 0, 0, 0,25371, 0,25373
- , 0,97278, 0,97280,97281, 0, 0, 0, 0, 0
- ,14322, 0,91758,91759,97291, 0, 0,91763,97295,97296
- , 0, 0, 0,124955,97301,196860,91772, 0, 0,196864
- , 0, 0, 0, 0,91780, 0, 0,91783, 0,91785
- ,91786,91787, 0, 0,14356, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0,69677, 0,296450, 0,246673
- ,158178,97338,97339,97340, 0, 0,97343,97344, 0, 0
- ,97347, 0, 0, 0, 0,14387,36512, 0,14390,185852
- , 0, 0,97359,14395,241167, 0, 0, 0, 0, 0
- , 0, 0,158210,158211, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0,130567,257781, 0, 0, 0, 0
- , 0, 0, 0,58673, 0, 0, 0,230138,230139,230140
- , 0, 0, 0,158241,158242,158243, 0, 0,158246, 0
- , 0,158249,97409, 0,97411, 0, 0, 0, 0, 0
- ,47638, 0, 0, 0,19987, 0, 0,230168, 0,230170
- , 0,196986,196987,230174, 0, 0,230177, 0,230179, 0
- , 0,14473, 0,202529, 0, 0, 0, 0, 0, 0
- , 0, 0,58732,279973,14486, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,302111, 0,14501
- ,14502, 0, 0, 0, 0, 0,14508, 0,14510,263406
- , 0, 0, 0,274472,14516, 0,14518,14519, 0,14521
- ,197045,158329,14524,14525,14526,14527, 0,14529,14530,14531
- ,14532,14533,97499, 0,14536,230246, 0, 0, 0, 0
- , 0,263438, 0,263440,97511, 0,230257,97514, 0,158357
- ,158358, 0, 0, 0, 0,158363,25620, 0, 0, 0
- , 0, 0, 0, 0,158372,158373,158374, 0,158376, 0
- , 0, 0, 0, 0, 0, 0,230287, 0, 0, 0
- , 0, 0,263479, 0,158392, 0,252421, 0, 0, 0
- , 0, 0, 0, 0,230305, 0,280086, 0,230309,230310
- , 0, 0,230313,230314,230315,230316,230317, 0,246912, 0
- , 0, 0, 0,252448, 0,252450, 0, 0,252453, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,252463, 0
- , 0, 0, 0, 0, 0, 0, 0,42294, 0, 0
- ,230351, 0,25706,252478,36770, 0, 0, 0,252483, 0
- ,252485,252486,252487,252488,252489,252490,252491,252492,252493, 0
- , 0, 0,252497, 0, 0,252500,252501, 0,252503, 0
- , 0,42328, 0, 0, 0, 0, 0, 0, 0,269107
- , 0, 0,158490, 0,158492,158493,158494,186150,263585, 0
- ,263587, 0,169562, 0,263591, 0, 0, 0,53417, 0
- , 0,42358, 0, 0, 0,42362, 0, 0, 0, 0
- ,42367,263608,263609,263610, 0, 0,263613,263614,263615, 0
- , 0,186184, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,213851, 0,213853,213854,269165, 0, 0
- ,103238, 0, 0,235985, 0,103243,235988, 0, 0,186212
- , 0, 0,186215, 0, 0, 0,59006, 0, 0, 0
- ,186223, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,31367, 0,31369, 0, 0,42434, 0, 0
- , 0,53500, 0,75626, 0,75628, 0,274746,42445, 0
- , 0,42448, 0, 0, 0,230506,230507,103295, 0, 0
- , 0, 0,230513,186266, 0,230516, 0, 0, 0,285830
- , 0, 0, 0,75656,75657,75658, 0,42474,42475, 0
- , 0, 0, 0, 0,75667,247129, 0,186290, 0, 0
- ,285851, 0,285853, 0, 0,313511,313512, 0,186301,42496
- ,42497, 0,42499, 0,42501,42502,42503,42504, 0, 0
- , 0, 0,213970, 0, 0, 0, 0, 0, 0, 0
- , 0,119952, 0,142078, 0, 0,186329, 0, 0, 0
- , 0,103369,186335, 0, 0,131028, 0, 0, 0, 0
- , 0,186344,186345, 0, 0, 0,186349, 0, 0,186352
- ,186353, 0,186355, 0,186357,186358,186359,186360,186361,219548
- ,202956, 0,75745, 0, 0,108934, 0, 0, 0, 0
- , 0,202967, 0,285934, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,75774,75775, 0, 0,236177,75779, 0, 0, 0
- , 0, 0,75785,75786, 0,75788,75789,75790,75791,75792
- ,75793, 0,103450,75796, 0,75798,75799, 0, 0, 0
- ,75803, 0,75805,108992, 0,75808, 0, 0, 0,197494
- , 0, 0, 0, 0,31569, 0, 0, 0, 0,142194
- ,97947, 0, 0, 0,252819, 0, 0, 0, 0, 0
- , 0,97958, 0, 0, 0, 0,131149,203053, 0, 0
- , 0, 0,42659,42660,42661, 0,197531, 0,225188,53728
- , 0,142226, 0,142228, 0, 0, 0, 0, 0, 0
- , 0, 0, 9493, 9494, 0, 0, 0,114587,114588,114589
- , 0, 0, 0,42690,42691,42692, 0, 0, 0, 0
- , 0, 0,142257, 0,142259, 0, 0, 0, 0, 0
- ,142265, 0,142267, 0,131207, 0,142271, 0,114618, 0
- ,114620, 0, 0,114623, 0,131218, 0, 0,114628,286090
- ,297153, 0, 0, 0, 0, 0, 0,75920, 0, 0
- , 0,131234, 0, 0,131237, 0, 0,286108, 0,59339
- , 0, 0, 4032, 0,313770, 0,131249,131250, 0, 0
- , 0, 0,275061, 0, 0, 0,175507,175508,103606, 9580
- , 0, 0,98079, 0,98081,98082,98083, 0, 0,142334
- ,131273, 0, 4062, 4063, 4064, 0, 0, 0, 0, 0
- , 0, 0, 4072, 0, 0, 0,275095,175538,120229, 0
- , 0, 0, 0, 0, 0, 0,114706, 0,59398,42806
- ,42807,42808,75995, 0,120245,42812, 4096, 0,142373, 0
- , 0,175562, 0, 0, 0,275124, 0, 0, 0,120260
- ,275129, 0,42829, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0,114745,142401, 0, 0, 0
- , 0,131344, 0, 0, 0, 0,131349,114757, 0, 0
- ,114760, 0,114762,114763, 0, 0,114766, 0, 0,114769
- , 4150,98178, 0, 0, 0, 0,264113,98184,192212,264116
- , 0, 0, 0, 0, 0, 0, 0, 0,175629, 0
- ,175631,175632,175633, 0, 0, 0, 0,175638, 4178, 0
- , 0, 0, 0,264140, 4184, 0, 0, 0, 0, 0
- , 4190, 4191, 0, 0, 0, 4195, 0, 4197, 4198, 0
- , 0, 4201, 4202, 0, 4204, 0, 0, 0, 4208, 0
- , 4210, 0,120363, 4213,26338, 0,208863, 0, 0,230990
- , 0,275240, 0,275242, 0, 0, 0,275246, 0, 0
- ,264187, 0,54011,76136, 0, 0, 0,81671, 0, 0
- ,170170, 0, 0,42960, 0,275264, 0,275266, 0,275268
- ,275269,275270,275271, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,264219,170193, 0, 0,214444,170197, 0, 0
- , 0, 0, 0, 0, 0,42992,42993,42994,225518,98306
- , 0,225521,170212, 0, 0,98312, 0, 0,98315, 0
- , 0,54070, 0,231064, 0,314031, 0,170227, 0, 0
- , 0, 0,170232,170233,170234, 0, 0, 0, 0,170239
- , 0, 0, 0, 0, 0,170245, 0, 0,170248, 0
- ,170250, 0,170252,170253,170254, 4325, 0, 0,15390, 0
- , 0, 0, 0, 0, 0, 0,258762, 0,242171, 0
- , 0, 0,286423, 0, 0, 0, 0, 0, 0,214527
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,59672, 0,103922,103923, 0, 0, 0, 0
- , 0, 0,192426, 0, 0,120526, 0, 0,186901, 0
- ,103938,236683, 0, 0, 0, 0, 0,131600, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,103956, 0
- ,286481, 0, 0, 0, 0, 0, 0,186930, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- ,21013, 0,43139, 0,43141,264382, 0, 0,43145, 0
- , 0, 0, 0, 0, 0,21028, 0,131650, 0, 0
- , 0, 0, 0, 0,292056, 0, 0, 0, 0, 0
- , 0, 0,43169,43170,43171, 0, 0,43174, 0,21052
- ,120611, 0, 0, 0,21057, 0, 0, 0, 0, 0
- ,142745, 0,292084, 0, 0, 0,92972,87442, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0,308694
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,236803, 0, 0, 0, 0, 0, 0, 0,104067
- ,120661, 0, 0,104071,104072,104073,104074, 0, 0,104077
- , 0, 0,308727,308728, 0, 0, 0, 0, 0, 0
- ,292142, 0, 0, 0, 0, 0, 0, 0,142813, 0
- , 0, 0, 0, 0, 0,54324, 0,247911, 0, 0
- , 0,308756, 0,308758,308759,231326,126238,308762, 0, 0
- ,308765, 0,308767,164962, 0, 0,198151,198152, 0, 0
- , 0, 0, 0,170503, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0,43306
- ,43307, 0, 0, 0,242427, 0,170526,198182, 0, 0
- ,170530, 0,170532, 0,21197,170535,225846, 0,104166, 0
- , 0,104169,98639, 0,104172, 0,104174, 0, 0, 0
- , 0, 0, 0,275642, 0, 0, 0,242460,242461,308834
- ,170560,93127, 0, 0,115254, 0,170566,170567, 0,170569
- , 0,170571,170572,170573, 0, 0, 0, 0, 0,170579
- , 0,170581, 0, 0,270142,170585, 0, 0,242491,242492
- , 0,142936, 0,115283,115284, 0,115286,242500,308873, 0
- ,308875, 0,115292, 0, 0, 0, 0, 0, 0, 0
- , 0,236983, 0, 0, 0, 0, 0,214865,187211, 0
- ,159558,308896,308897,308898,308899, 0,308901,308902,308903,308904
- ,308905, 0, 0,308908, 0, 0,48954, 0, 0, 0
- ,242543, 0, 0, 0,104272, 0, 0, 0, 0, 0
- , 0, 0,292334, 0, 0, 0, 0, 4727, 0, 4729
- , 0, 0, 0, 0,242567, 0,198321, 0, 0, 0
- ,48988,115361,253637, 0, 0,242578, 0, 0, 0, 0
- ,176211, 0, 0, 0, 0, 0, 0, 0, 0,43476
- , 0,43478, 0,54542, 0, 0, 0,237069,49016, 0
- ,49018,49019,104330,242606, 0,242608, 0, 0, 0,242612
- ,115400,115401,115402,303457, 0,43502,115406, 0,242621,242622
- ,242623,242624,242625, 0, 0,120946, 0,242630,242631,242632
- , 0,242634,242635, 0, 0, 0,115426, 0, 0,115429
- ,115430,115431,115432, 0, 0,115435, 0, 0, 0, 0
- , 0, 0,120973, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,192887, 0, 0, 0, 0, 0, 0
- , 0, 0,292454,187366, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,49105,264815, 0
- , 0,126543, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0,10403,281423, 0,209522, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0,49134,49135,231659, 0
- , 0,49139, 0,126575,126576,126577, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0,242739, 0,242741, 0
- , 0, 0,121063,49161,49162,49163,49164,49165, 0,65760
- ,27044, 0, 0,126605,126606,126607,126608, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,43658, 0,43660,137688, 0, 0, 0, 0,209596
- , 0, 0,16014,54732, 0, 0, 0, 0,16020,231730
- , 0, 0, 0, 0, 0, 0,115586,115587, 0, 0
- , 0,43688,43689,43690,43691, 0, 0, 0, 0, 0
- , 0, 0,43699, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0,115616,115617,115618,115619
- , 0,126683,115622,16065,16066, 0,43723,115627,16070, 0
- , 0,16073, 0,16075, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,76926,259450,43742, 0, 0, 0, 0
- ,209677, 0, 0, 0, 0, 0, 0,159905, 0,104597
- ,126722,126723,126724, 0, 0, 0,126728, 0, 0,43766
- , 0, 0, 0, 0, 0, 0, 0, 0, 0,126741
- , 0, 0, 0,126745,126746,126747, 0,270555, 0,126751
- ,126752,126753,126754, 0, 0,126757, 0, 0, 0, 0
- , 0, 0,259508, 0, 0, 0,76989, 0, 0, 0
- ,43807, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0,43818, 0,43820,43821,43822,43823,43824,43825, 0
- , 0,43828,43829, 0, 0,115735,43833,43834,43835, 0
- ,43837,193175,193176, 0, 0,16187,16188, 0, 0, 0
- , 0, 0, 0, 0, 0, 0,115756, 0,115758, 0
- , 0, 0, 0,115763,115764,115765, 0, 0,115768,137893
- , 0, 0,193206,193207, 0, 0, 0,193211,298301, 0
- ,193214, 0,193216,77066, 0, 0, 0,10698, 0,248533
- ,10701, 0,165571, 0,77077,126857,126858,126859, 0,165578
- , 0, 0, 0, 0, 0, 0, 0, 0,176649, 0
- , 0, 0, 0, 0, 0, 0, 0, 0,137942, 0
- , 0, 0,77105, 0,77107,193259, 0, 0,77111, 0
- , 0, 0, 0, 0, 0, 0,248580, 0,77121, 0
- ,77123,77124,77125,209870, 0,77128,77129, 0,77131,193283
- ,77133,77134,77135, 0,77137, 0, 0, 0, 0, 0
- ,193294, 0, 0, 0, 0, 0, 0,27371, 0, 0
- , 0,198836, 0,198838, 0, 0, 0, 0, 0, 0
- , 0,21854, 0, 0, 0,226505,226506,226507, 0,193323
- ,193324, 0, 0, 0, 0, 0,226516,99304,99305, 0
- , 0,198866,198867, 0, 0, 0,193340, 0,193342, 0
- ,198875,193345, 0,193347,193348, 0,193350,193351,193352,193353
- ,193354, 0,16364,193357,44021,298448, 0,44024, 0,176770
- , 0, 0, 0, 0, 0, 0,88281, 0,309523, 0
- , 0,204437,281872, 0, 0,16387,16388, 0, 0, 0
- , 0, 0,16394, 0,193388,198920, 0, 0, 0, 5339
- , 0, 0,287423,226583,204460,88310,88311,88312,88313,259775
- , 0, 0,281902,215531, 0,33010, 0, 0, 0,198944
- , 0, 0, 0, 0, 0, 0,259792,204483, 0, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0,259805
- ,259806,259807, 0,226623,226624,259811, 0, 0, 0,77292
- , 0, 0, 0, 5393, 0,16457,132609,226637, 0, 0
- , 0, 0, 0, 0, 0, 0,226646,226647,226648, 0
- ,226650,226651,226652, 0, 0,199000,199001, 0, 0,77322
- , 0, 0,199007, 0, 0, 0,199011, 0,199013, 0
- ,199015, 0, 0,199018, 0,55214, 0, 0, 0, 0
- ,315176,315177,160310, 0,160312, 0, 0, 0, 0, 0
- , 0, 0, 0, 0, 0, 0, 0,259883, 0, 0
- , 0, 0, 0, 0,88429,226705, 0, 0, 0,259895
- ,304144,259897,77375, 0, 0, 0, 0,88442, 0, 0
- ,193534, 0, 0, 0, 0,88450,88451,88452,88453,93985
- ,88455, 0,88457,88458,88459, 0, 0, 0,259924, 0
- , 0, 0,259928, 0, 0, 0, 0,77410,293120, 0
- , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- , 0, 0, 0,11054,259950, 0,259952, 0,259954,259957
- ,138275, 0,77453,27674, 0,226791,77454, 0,127241,77462
- , 0,127242,77463, 0,127243,77464, 0,199177,127274, 0
- ,127282,99627, 0,127325,88608, 0,243491,143933, 0,243494
- ,143936, 0,127360,94174, 0,315431,88660, 0,132938,127407
- , 0,127408, 5726, 0,238070,121919, 0,249164,243633, 0
- ,243640,133020, 0,199486,22494, 0,199487,22495, 0,199491
- ,22499, 0,199492, 376, 0,199535,11481, 0,243804,44688
- , 0,299119,177437,44693, 0,177440,44696, 0,188545,77925
- , 0,277071,133265, 0,77962,44776, 0,304738,199649,177525
- , 0,199650,177526,160933, 6065, 0,77990,44804, 0,177554
- ,77996,44810, 0,277113,177555, 0,177556,77998, 0,177563
- ,44819, 0,133316,44820, 0,199689,177565,44821, 0,133318
- ,44822, 0,199692,44824, 0,199694,188632, 0,199695,44827
- , 0,199696,44828, 0,199697,44829, 0,199698,44830, 0
- ,227355,199700,44832, 0,199701,44833, 0,199702,44834, 0
- ,199703,44835, 0,199704,44836, 0,304796,199707,44839, 0
- ,199708,11654, 0,199709,133337, 0,199711,133339, 0,293746
- ,199719, 0,188660,144412, 0,188661,78041,39324, 0,78065
- , 631, 0,304860,255081,78089, 0,238503,78104, 0,133420
- ,78110, 0,199795,177671,78113, 0,177673,78115, 0,177677
- ,78119, 0,255113,78121, 0,255114,78122, 0,255115,78123
- , 0,78127,28348, 0,177694,78136, 0,177695,44951, 0
- ,299379,177697,78139, 0,177699,127920, 0,255144,155586, 0
- ,105814,100283, 0,89247,28406, 0,293926,89279, 0,188847
- ,56103, 0,255221,244159, 0,188876,89318, 0,188878,89320
- ,78258, 0,188887,177825,155701, 0,255266,50619, 0,255277
- ,34037, 0,271872,255279, 0,255283,188911,78291, 0,255284
- ,78292, 0,255291,177857, 0,255292,177858, 0,177859,161266
- , 0,294012,255295,133613, 0,177887,78329, 0,177889,78331
- , 0,255326,188954, 0,89398,50681, 0,177896,50683, 0
- ,177898,166836, 0,266403,216624, 0,249822,211105, 0,249825
- ,89426, 0,188993,166869,122621, 0,188994,166870, 0,188999
- ,89441, 0,266437,94976, 0,222191,189005, 0,189008,89450
- , 0,189009,89451, 0,189010,89452, 0,189012,89454, 0
- ,189013,89455, 0,189016,89458, 0,189018,78398, 0,189019
- ,89461, 0,189022,166898, 0,189023,166899, 0,189024,166900
- , 0,189025,166901, 0,189028,166904, 0,266465,166907, 0
- ,266467,166909, 0,177976,139259, 0,266474,139261, 0,50770
- ,12053, 0,128221,28663, 0,211187,128222,78443,28664, 0
- ,50804,28680, 0,78462,28683, 0,78466,56342, 0,178027
- ,78469, 0,178030,78472,28693, 0,128252,100597,28694, 0
- ,178034,28697, 0,178035,45291,28698, 0,233347,50824, 0
- ,272066,178039,50826, 0,50827,28703, 0,272069,50829, 0
- ,166987,128270, 0,216771,155930, 0,277613,216772,12125, 0
- ,216774,12127, 0,272096,45325, 0,167015,28740, 0,272105
- ,189140,167016,28741, 0,167017,28742, 0,272108,28744, 0
- ,272109,28745, 0,167021,28746, 0,266582,28749, 0,266583
- ,28750, 1095, 0,266584,28751, 0,45346,28753, 0,266588
- ,183623,167030, 0,167031,139376, 0,167032,139377, 0,167033
- ,139378, 0,167034,73007,28759, 0,172566,167035,45353,28760
- , 0,45354,28761, 0,183631,167038,45356, 0,167041,45359
- , 0,272132,167043, 0,167044,45362, 0,167046,45364, 0
- ,294260,266605,167047, 0,294263,266608,167050, 0,161549,106239
- , 0,272179,28815, 0,106251,28817, 0,106252,28818, 0
- ,288776,28819, 0,272190,106260, 0,272194,106264, 0,272202
- ,45431, 0,272203,106273, 0,272208,106278, 0,272210,106280
- , 0,133983,106328, 0,45494,28901, 0,45501,28908, 0
- ,106381,28947, 0,128573,106449, 0,288976,106453, 0,311102
- ,294509,106455, 0,294511,106457, 0,228140,172830,106458, 0
- ,228141,106459, 0,228142,106460, 0,106461,56682, 0,106463
- , 1374, 0,106464, 1375, 0,106465,45624, 0,106466,56687
- , 1377, 0,145192, 1386, 0,128603,106479, 0,145198,128605
- ,45640, 0,277943,128606, 0,145202,128609, 0,145203,106486
- , 0,228170,128612,106488, 0,228171,106489, 0,228172,172862
- ,128614, 0,228173,172863, 0,145212,100964, 0,228179,45656
- , 0,228181,145216,45658, 0,145234, 1428, 0,183956,172894
- ,145239, 0,172901,45688, 0,183964,45689, 0,283523,172903
- , 0,145250,45692, 0,145253,45695, 0,294592,145255,45697
- , 0,278059,172970,128722, 0,228287,45764,34702, 0,278070
- ,172981, 0,228293,23646, 0,228302,128744, 0,228303,128745
- , 0,228304,128746, 0,228306,128748, 0,228307,145342,128749
- , 0,228310,128752, 0,228313,128755, 0,244909,228316,206192
- , 0,278098,228319,173009, 0,173015,23678, 0,45803,23679
- , 0,45804,23680, 0,305766,178553,45809, 0,278116,145372
- , 0,173032,79005,29226, 0,173033,167502,134316,79006, 0
- ,244937,173034,29228, 0,244938,173035, 0,173039,45826, 0
- ,173040,45827, 0,173041,45828, 0,173044,45831, 0,222824
- ,45832,23708, 0,45833,23709, 0,45834,23710, 0,45835
- ,23711, 0,45838,23714, 0,278156,167536, 0,222847,145413
- , 0,222848,145414, 0,145416,73513, 0,178604,145418, 0
- ,222854,145420, 0,206264,145423, 0,206266,145425,95646, 0
- ,145426,139895, 0,145427,139896, 0,145428,139897, 0,267114
- ,145432, 0,167564,145440, 0,178627,167565, 1635, 0,239474
- ,145447, 0,167573,145449, 0,178708,29371, 0,140014,101297
- , 0,184276,167683, 0,167697,140042, 0,167698,140043, 0
- ,167699,140044, 0,167701,46019, 0,140048,46021, 0,167704
- ,46022, 0,167707,46025, 0,167710,46028, 0,167712,140057
- ,46030, 0,167713,140058, 0,167716,140061, 0,278346,140071
- , 0,278347,140072, 0,278348,140073, 0,278349,140074, 0
- ,140077,123484, 0,261815,173319, 0,167818,46136, 0,51682
- ,46151, 0,151244,95934,51686, 0,46160,40629, 0,228685
- ,46162, 0,46166,18511, 0,140196,29576, 0,212124,40663
- , 0,140228,101511, 0,140230,13017, 0,295115,13034, 0
- ,40691,13036, 0,267464,40693, 0,212158,40697, 0,140258
- ,40700, 0,140260,40702, 0,140264,13051, 0,140269,13056
- , 0,212186,13070, 0,212187,13071, 0,212188,13072, 0
- ,212189,13073, 0,212192,13076, 0,289630,51797, 0,212197
- ,51798, 0,173485,51803, 0,156918,51829, 0,212240,18655
- , 0,256495,173530, 0,173533,140347, 0,212275,173558,40814
- , 0,173560,151436, 0,173561,140375, 0,173564,74006, 0
- ,173567,140381,46354, 0,46363,40832, 0,40836,18712, 0
- ,140398,40840, 0,212303,140400, 0,212304,140401,40843, 0
- ,212309,140406, 0,140407,134876, 0,212329,173612, 0,217862
- ,212331, 0,212334,79590, 0,173647,134930, 0,151525,79622
- , 0,79627,46441, 0,179191,173660,162598, 0,173680,79653
- , 0,173681,79654, 0,228992,173682,79655,46469, 0,173684
- ,46471, 0,278774,228995,79658, 0,79661,46475, 0,173690
- ,79663, 0,201353,173698, 0,173700,52018, 0,201356,173701
- ,52019, 0,173705,46492, 0,173706,46493, 0,173707,52025
- ,46494, 0,267735,46495, 0,173710,46497, 0,123935,46501
- , 0,195881,79730, 0,267800,140587, 0,267808,179312,79754
- , 0,256747,179313, 0,256758,112952, 0,112955,79769, 0
- ,256762,79770, 0,256764,112958, 0,256767,112961,79775, 0
- ,256772,79780, 0,256776,79784, 0,234653,79785, 0,201468
- ,79786, 0,256780,79788, 0,85320,79789, 0,256782,212534
- , 0,184880, 2357, 0,79792, 2358, 0,267847,79793, 0
- ,256786,79794, 0,256789,79797, 0,256796,79804, 0,284454
- , 2373, 0,273396,240210, 0,301053,256805, 0,256810,201500
- , 0,256811,201501, 2385, 0,135139,18988, 0,74310,46655
- , 0,273428,256835,46657, 0,273429,113030, 0,273430,245775
- , 0,245779,201531, 0,262378,113041, 0,267915,74330, 0
- ,151775,46686, 2438, 0,273458,46687, 2439, 0,273459,129653
- ,46688, 0,273460, 2441, 0,46691, 2443, 0,273467,46696
- , 0,267937,113069, 0,273469,267938,113070, 0,267939,113071
- , 0,267943,113075, 0,267949,129674, 0,201584,118619, 0
- ,256897,140746, 0,124155,113093, 0,118625,113094, 0,118628
- ,113097, 0,207162,46763, 0,273550,201647, 0,279089,256965
- , 0,256970,207191,129757, 0,256971,207192, 0,256972,207193
- ,201662, 0,256973,207194,201663, 0,256974,201664, 0,256975
- ,201665, 0,256976,207197,201666, 0,256977,201667, 0,256979
- ,207200, 0,256980,201670,46802, 0,256981,207202,201671,46803
- , 0,273575,256982,201672,46804, 0,273576,256983,201673, 0
- ,273577,256984,124240, 0,256985,201675, 0,256986,201676,179552
- ,46808, 0,256987,201677, 0,273581,201678, 0,201679,179555
- , 0,279119,256995,46817, 0,124259,46825, 0,279128,257004
- ,46826, 0,273598,257005,46827, 0,279130,273599,46828, 0
- ,273601,46830, 0,273603,46832, 0,273604,46833, 0,273605
- ,46834, 0,273610,151928, 0,223841, 2601, 0,257029,168533
- ,113223, 0,257030, 2604, 0,124289, 2607, 0,207280, 2633
- , 0,207283,113256, 0,312375,179631,69011, 0,295784,179633
- , 2641, 0,279208,30313, 0,279211,207308, 0,207314,113287
- , 0,279236,207333, 0,279237,207334, 0,279242,207339, 0
- ,306914,279259, 0,279260,246074, 0,279261,246075, 0,306917
- ,279262,246076, 0,279264,246078, 0,279265,201831, 0,118911
- ,19353, 0,118922,47019, 0,91277,47029, 0,113402,91278
- , 0,312519,113403,91279, 0,273803,113404, 0,113418,102356
- , 0,113431,91307, 0,113432,91308, 0,113433,91309, 0
- ,113434,91310,58124, 0,235119,113437,91313, 0,290437, 8356
- , 0,91385,47137, 0,284981,91396, 0,47150,25026, 0
- ,251813,47166, 0,251815,141195, 0,168852,47170,25046, 0
- ,168858,91424, 0,168873,91439, 0,141227,91448, 0,141228
- ,91449, 0,141229,91450, 0,168886,91452, 0,168887,91453
- , 0,168890,91456, 0,185484,168891, 0,296108,196550, 0
- ,213154,58286, 0,240824,141266, 0,185516,141268, 0,246370
- ,168936, 0,251902,168937, 0,168939,80443, 0,290626,168944
- , 0,185546,168953, 0,185547,168954, 0,185552,124711, 0
- ,251931,141311, 0,97123,47344, 0,185624,141376, 0,141389
- ,91610, 0,185638,141390,91611, 0,141391,91612, 0,141393
- ,36304,19711, 0,141403,119279, 0,185664,36327, 0,185669
- ,91642, 0,91643,36333, 0,91646,36336, 0,185687,169094
- , 0,185688,141440, 0,185698,64016,36361, 0,119351,36386
- , 0,108290,36387, 0,119353,36388, 0,196807,169152,91718
- , 0,196818,91729, 0,307439,97261,30889, 0,279785,97262
- , 0,196846,91757, 0,124947,97292, 0,196868,119434,102841
- , 0,196870,91781, 0,268774,196871,91782, 8817, 0,91788
- ,14354, 0,91789,14355, 0,91792, 8827, 0,14359, 8828
- , 0,296442,25423, 0,97341,36500, 0,97342,36501, 0
- ,290930,213496,97345, 0,196904,97346, 0,290933,97348, 0
- ,97349,14384, 0,97350,14385, 0,97351,14386, 0,141605
- ,97357, 0,285412,241164,97358,14393, 0,257761,230106, 0
- ,268832,158212, 0,196957,158240, 0,213554,14438, 0,158251
- ,97410, 8914, 0,230169, 8929, 0,230171,196985,14462, 0
- ,219135,158294, 0,174902,14503, 0,174905,14506, 0,274464
- ,14507, 0,158318,14512, 0,230222,197036, 0,197040,14517
- , 0,114078,14520, 0,263439,97509, 0,158359,36677, 0
- ,158375,64348, 0,197094,158377, 0,291122,197095, 0,263468
- ,197096, 0,263469,197097,158380, 0,263470,158381, 0,263471
- ,230285,158382,75417,36700, 0,230286,158383,36701, 0,263474
- ,158385, 0,158386,97545, 0,158387,97546, 0,263477,230291
- ,158388, 0,158389,36707, 0,230300,97556, 0,230301,97557
- , 0,230302,97558, 0,230303,97559, 0,230304,97560, 0
- ,230308,125219, 0,307745,263497,230311, 9071, 0,252444,230320
- , 0,252461,53345, 0,263546,252484, 0,263557,252495, 0
- ,252496,202717, 0,252504,42326, 0,252505,42327, 0,263586
- ,213807, 0,252534,42356, 0,53419,42357, 0,58952,42359
- , 0,141923,42365, 0,313390,263611, 0,263616,186182, 0
- ,263617,186183, 0,263620,141938, 0,186213,59000, 0,186214
- ,75594, 0,186218,103253, 0,285779,186221, 0,296867,75627
- , 0,75659,42473, 0,75662,20352, 0,213940,75665,42479
- , 0,219490,42498, 0,103346,75691,42505, 0,213968,103348
- , 0,213969,42508, 0,186330,75710, 0,186331,97835, 0
- ,119960,103367, 0,247187,186346, 0,191878,186347, 0,191879
- ,186348, 0,191885,186354,75734, 0,197426,186364, 0,202966
- ,164249, 0,125552,75773, 0,197479,75797, 0,219607,197483
- ,75801, 0,75802,53678, 0,97928,75804, 0,59220,42627
- , 0,197502,97944, 0,214113,114555, 0,225185,37131, 0
- ,142227, 9483, 0,114592,42689, 0,286059,42695, 0,297124
- ,142256,42698, 0,142258,42700, 0,286068,142262, 0,131210
- ,114617, 0,114619, 3999, 0,131219,114626, 0,286112, 4031
- , 0,131246, 4033, 0,313771,142310, 0,186568,31700, 0
- ,192104,42767, 0,42778, 4061, 0,286148,120218, 4067, 0
- ,142345,120221, 4070, 0,275093,186597, 0,275094,114695, 0
- ,275098,120230, 0,142374,114719,53878, 0,214278,142375, 0
- ,275123,142379, 0,275125,120257,103664, 0,275126,131320, 0
- ,275132,142388,42830, 0,142389,114734,42831, 0,275134,142390
- ,114735,42832, 4115, 0,142391,114736, 0,291729,264074,142392
- ,131330,42834, 0,142393,131331,42835, 0,131332,42836, 0
- ,264077,131333,114740,42837, 0,142396,131334,42838, 0,142397
- ,131335,20715, 0,142398,131336,114743, 0,142399,131337,42841
- , 0,142402,20720, 0,264085,142403, 0,264086,142404,131342
- ,20722, 0,142405,131343, 0,142408,120284, 0,131351,114758
- ,98165, 0,131352,114759, 4139, 0,264101,114764, 0,114765
- ,98172, 0,175640, 4179, 0,120331, 4180, 0,275201,164581
- ,37368, 0,275212,236495, 4193, 0,120345, 4194, 0,120347
- , 4196, 0,258629, 4203, 0,275225, 4206, 0,109296, 4207
- , 0,76112, 4209, 0,275241,230993, 0,275263,264201, 0
- ,275265,264203, 0,280803,275272, 0,280804,31909, 0,275275
- ,153593, 0,170199,20862, 0,258697,225511, 0,225512,170202
- , 0,170235,43022, 0,297449,170236,43023, 0,269795,170237
- ,43024, 0,170238,43025, 0,197895,170240, 0,170241,43028
- , 0,170244,43031, 0,170246,43033, 0,103941,43100, 0
- ,159262,103952,43111, 0,308624,76322, 0,159291,43140, 0
- ,104003,43162, 0,104004,43163, 0,104005,43164, 0,131661
- ,104006,43165, 0,104008,43167, 0,253346,192505,43168, 0
- ,104075,59827, 0,104076,37704, 0,308726,120672, 0,308731
- ,236828,54305, 0,308757,231323, 0,115221,104159, 0,198200
- ,170545, 0,104178,43337, 0,198206,98648, 0,242459,231397
- , 0,115253,37819, 0,170565,115255, 0,170568,43355, 0
- ,308845,170570, 0,170574,43361, 0,170577,104205, 0,170578
- ,104206, 0,308858,170583, 0,242489,170586, 0,242490,170587
- , 0,292274,242495, 0,242498,115285, 0,308874,115289, 0
- ,308879,115294, 0,198323,48986, 0,253634,48987, 0,115372
- ,76655, 0,248133,49017, 0,242607,49022, 0,242626,120944
- , 0,242629,120947, 0,242636,115423, 0,242637,115424, 0
- ,242638,115425, 0,242641,115428, 0,220591,121033, 0,231656
- ,49133, 0,242742,49157,43626, 0,242743,121061,49158, 0
- ,121062,49159, 0,126611, 4929, 0,126614,65773, 0,126616
- ,115554,98961, 0,226182,43659, 0,226187,209594, 0,115588
- ,38154, 0,126659,43694, 0,143255,43697, 0,115625,16067
- , 0,126694,87977,16074, 0,126737,76958, 0,204172,126738
- ,76959, 0,126739,76960, 0,126740,104616, 0,126742,43777
- , 0,248430,126748, 0,132281,126750, 0,204190,115694, 0
- ,115705,76988, 0,159955,76990, 0,76991,43805, 0,193143
- ,43806, 0,154428,76994, 0,76997,43811, 0,276115,76999
- , 0,154437,43817, 0,115733,43830, 0,204230,115734,43831
- , 0,248483,115739,43836, 0,193177,43840, 0,115757,16199
- , 0,115759,77042,21732, 0,121292,115761, 0,115762,88107
- , 0,193205,10682, 0,193208,93650, 0,165572,126855, 0
- ,226443,77106, 0,248579,209862, 0,248581,77120, 0,198804
- ,77122, 0,254122,77130, 0,281783,77136, 0,281785,226475
- ,43952, 0,281786,226476,82670, 0,226477,160105,77140, 0
- ,254140,55024,43962, 0,198837,66093, 0,226508,193322, 0
- ,226511,21864, 0,226514,193328, 0,198868,193337,88248,32938
- , 0,198869,193338,99311, 0,254180,193339, 0,198872,193341
- , 0,198877,193346, 0,44023, 5306, 0,226555,88280, 0
- ,259743,88282, 0,315055,281869,226559, 0,281900,259776, 0
- ,281901,259777,88316, 0,226594,88319, 0,88321,77259, 0
- ,198955,160238, 0,259808,226622, 0,259814,226628,77291,10919
- , 0,259816,77293, 0,226638,198983,10929, 0,226639,198984
- , 0,276419,270888,226640,198985, 0,226641,132614, 0,226642
- ,104960,27526, 0,198989,104962, 0,226645,176866,104963, 0
- ,226653,198998,33068, 0,226654,198999, 0,226657,199002, 0
- ,199003,77321, 0,304094,77323, 0,199006,160289,77324, 0
- ,199008,88388, 0,199009,77327,44141, 0,199012,77330, 0
- ,199014,77332, 0,254329,88399, 0,248823,121610, 0,248826
- ,88427, 0,176924,88428, 0,259894,88433, 0,105049,88456
- , 0,259922,193550,77399, 0,259923,88462, 0,259945,105077
- , 0,259946,105078, 0,259947,237823,105079, 0,259948,38708
- , 0,259951,160393, 0,259953,127209, 0) ;
- --| Hash values to check against to verify that
- --| correct action has been found for this
- --| parser state and input token.
- -- NYU Reference Name: ACTION_TABLE2
-
- DefaultMap :
- constant array (DefaultMapRange) of GC.ParserInteger :=
- ( 1420, 0, 0, 0, 0, 1418, 0, 1247, 953, 1236
- , 1419, 0, 1238, 0, 1428, 0, 0, 0, 1240, 1241
- , 1242, 1243, 1244, 1245, 0, 1299, 0, 1299, 1239, 1246
- , 0, 0, 0, 1299, 1110, 0, 1111, 1093, 0, 1092
- , 1054, 1053, 0, 1108, 1109, 0, 1342, 1362, 1094, 1055
- , 1056, 1057, 1097, 1076, 1348, 1079, 1080, 1081, 1082, 1083
- , 1084, 1087, 1088, 1366, 1371, 1369, 0, 1098, 1095, 1096
- , 0, 1345, 1178, 1179, 0, 1262, 0, 1195, 0, 1180
- , 1174, 0, 1188, 1173, 1330, 1035, 0, 1395, 1187, 1191
- , 0, 1386, 1259, 0, 0, 1260, 1261, 1424, 1422, 1421
- , 1312, 1119, 990, 1311, 0, 0, 1052, 0, 0, 1094
- , 1328, 0, 1339, 1337, 1075, 0, 1364, 0, 1101, 1099
- , 1103, 0, 1100, 1104, 1102, 1085, 0, 0, 0, 0
- , 0, 0, 1344, 0, 1078, 0, 0, 0, 0, 0
- , 0, 0, 0, 1107, 1105, 1106, 0, 1114, 1115, 1112
- , 1113, 0, 1116, 1089, 0, 1094, 1090, 1367, 0, 0
- , 0, 0, 0, 1309, 0, 1429, 0, 1299, 0, 0
- , 0, 0, 1300, 0, 0, 0, 0, 0, 0, 954
- , 1037, 955, 956, 957, 958, 959, 960, 961, 962, 963
- , 964, 0, 0, 972, 973, 974, 1299, 1299, 1038, 1039
- , 1047, 1048, 1049, 1050, 1051, 0, 0, 1299, 0, 1286
- , 1287, 1288, 1289, 1160, 1157, 1303, 1396, 1397, 0, 1386
- , 1387, 0, 0, 0, 0, 1299, 0, 0, 0, 0
- , 0, 0, 1091, 0, 0, 1031, 0, 1069, 0, 1070
- , 1339, 1237, 1365, 1343, 1017, 1086, 1363, 996, 1067, 1066
- , 1068, 1065, 1064, 1117, 1118, 0, 1060, 1061, 1063, 1062
- , 1059, 1348, 1346, 0, 0, 1362, 1352, 0, 1354, 1356
- , 1353, 1355, 1357, 0, 0, 1368, 1370, 1372, 0, 1176
- , 1311, 0, 1393, 978, 0, 1430, 971, 1184, 0, 1198
- , 0, 0, 1393, 0, 0, 0, 1052, 0, 1057, 0
- , 0, 0, 0, 0, 1213, 1209, 0, 1398, 965, 0
- , 1332, 1036, 1331, 1188, 0, 1208, 1386, 1285, 0, 0
- , 1189, 0, 1197, 1299, 0, 1248, 1423, 0, 1122, 1121
- , 1313, 1351, 1347, 1341, 1334, 1337, 1074, 1030, 0, 0
- , 1335, 1337, 1340, 0, 1073, 0, 0, 1058, 1077, 1350
- , 1349, 1358, 1360, 1359, 1361, 0, 1184, 0, 1182, 0
- , 0, 0, 0, 0, 0, 1185, 1307, 0, 1386, 0
- , 1194, 0, 0, 1299, 0, 0, 0, 1252, 0, 0
- , 1279, 0, 952, 0, 0, 0, 0, 0, 0, 0
- , 0, 1210, 1299, 0, 0, 1033, 0, 0, 0, 0
- , 0, 1307, 1307, 988, 0, 1041, 1042, 1043, 1044, 1046
- , 1040, 1045, 1299, 0, 0, 0, 0, 0, 0, 0
- , 0, 1165, 0, 0, 0, 0, 0, 1303, 1052, 0
- , 1304, 0, 1303, 1124, 1125, 0, 1128, 1129, 1130, 1131
- , 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141
- , 1142, 1143, 1375, 0, 0, 0, 0, 1220, 1221, 1222
- , 0, 1158, 1305, 1196, 1425, 1120, 1339, 1029, 1329, 1336
- , 1339, 1338, 1018, 997, 0, 1277, 1183, 1307, 0, 0
- , 0, 0, 0, 0, 0, 1272, 0, 0, 1010, 1273
- , 1274, 1009, 0, 0, 1324, 1432, 1431, 1266, 1310, 1186
- , 0, 0, 0, 1275, 1192, 0, 0, 1175, 0, 1188
- , 0, 0, 1284, 1433, 1281, 0, 1435, 0, 0, 1299
- , 0, 1291, 1290, 1198, 0, 987, 988, 986, 1215, 1299
- , 1400, 1402, 0, 0, 0, 0, 0, 1299, 0, 977
- , 979, 980, 981, 982, 983, 984, 985, 1002, 1003, 1004
- , 1316, 1316, 1324, 975, 0, 1203, 0, 0, 0, 1307
- , 1307, 0, 1253, 966, 968, 0, 0, 989, 991, 992
- , 993, 1333, 1249, 1207, 1214, 1416, 1408, 0, 0, 0
- , 1167, 1172, 1148, 1378, 0, 1145, 1257, 0, 1169, 0
- , 0, 1412, 0, 0, 0, 1190, 0, 1373, 0, 1126
- , 1127, 1376, 0, 1303, 0, 0, 1163, 1386, 1299, 1164
- , 1171, 1297, 0, 0, 1072, 1071, 1433, 1181, 0, 1394
- , 1032, 0, 1270, 1269, 1271, 1268, 0, 1264, 0, 0
- , 1308, 1263, 1433, 1386, 0, 0, 0, 0, 1296, 0
- , 1437, 0, 1299, 0, 0, 1206, 0, 1402, 0, 0
- , 1299, 1008, 1006, 0, 995, 1201, 0, 0, 1322, 1000
- , 1001, 1314, 999, 1317, 1005, 1007, 0, 1399, 1094, 1320
- , 1016, 0, 0, 967, 969, 0, 0, 0, 0, 0
- , 0, 1305, 1219, 1166, 0, 1380, 1303, 1258, 1170, 0
- , 0, 0, 1303, 1303, 1303, 1225, 1226, 1227, 1228, 1380
- , 1144, 1298, 0, 1303, 0, 0, 1154, 1303, 0, 1386
- , 0, 1306, 1391, 1390, 1159, 0, 1177, 1318, 1094, 1267
- , 1307, 0, 0, 0, 1193, 1215, 0, 0, 1436, 951
- , 0, 0, 0, 1299, 0, 1250, 1251, 0, 1404, 1386
- , 1299, 1401, 1199, 1299, 0, 0, 0, 0, 1015, 0
- , 1012, 970, 1205, 1204, 994, 0, 1234, 0, 0, 1393
- , 1303, 1217, 0, 1168, 1303, 0, 0, 1377, 1303, 0
- , 0, 1415, 1230, 0, 1229, 1303, 0, 1146, 1374, 0
- , 0, 0, 1162, 0, 1256, 1255, 1426, 1392, 0, 0
- , 0, 1025, 0, 1325, 0, 1280, 1434, 0, 1292, 0
- , 1438, 0, 1386, 0, 0, 1211, 1403, 1022, 1019, 0
- , 0, 1299, 1299, 0, 998, 0, 0, 1034, 0, 1014
- , 0, 1417, 1410, 0, 0, 0, 1382, 1381, 0, 0
- , 1231, 0, 1303, 1303, 0, 1413, 0, 0, 1155, 1386
- , 0, 1161, 0, 1278, 0, 0, 1013, 0, 1276, 1295
- , 0, 1293, 1212, 0, 1393, 1216, 0, 0, 0, 1021
- , 1023, 1315, 0, 0, 976, 1321, 0, 1409, 1386, 0
- , 1328, 0, 1303, 0, 1224, 0, 0, 0, 1156, 0
- , 1386, 0, 1303, 0, 1319, 0, 1265, 0, 1406, 0
- , 1301, 1307, 0, 1202, 1393, 0, 1303, 0, 0, 1383
- , 1379, 1147, 0, 0, 1223, 1152, 0, 1427, 1254, 1011
- , 0, 1294, 0, 1405, 0, 1024, 1200, 0, 1218, 1151
- , 1303, 0, 0, 0, 1153, 1393, 0, 1302, 1326, 1411
- , 1150, 1149, 1232, 0, 0, 0, 1328, 0, 1233, 1407
- , 1299, 0, 0, 1327, 1028, 1299, 0, 1027, 1026) ;
- --| Map of states (constant array index) to default reductions.
- -- NYU Reference Name: DEFAULT
-
- type FollowSymbolIndexArray is array ( PositiveParserInteger range <>)
- of GC.ParserInteger ;
-
- FollowSymbolMapIndex : constant FollowSymbolIndexArray :=
- ( 1, 1, 2, 2, 3, 4, 5, 5, 6, 45
- , 46, 59, 60, 73, 74, 87, 88, 101, 102, 115
- , 116, 132, 133, 149, 150, 163, 164, 180, 181, 194
- , 195, 211, 212, 225, 226, 226, 227, 227, 228, 229
- , 230, 231, 232, 233, 234, 240, 241, 242, 243, 256
- , 257, 270, 271, 284, 285, 287, 288, 288, 289, 290
- , 291, 292, 293, 293, 294, 294, 295, 295, 296, 296
- , 297, 297, 298, 298, 299, 299, 300, 300, 301, 301
- , 302, 335, 336, 337, 338, 371, 372, 378, 379, 380
- , 381, 382, 383, 404, 405, 406, 407, 408, 409, 410
- , 411, 413, 414, 415, 416, 418, 419, 419, 420, 421
- , 422, 423, 424, 424, 425, 458, 459, 461, 462, 463
- , 464, 473, 474, 475, 476, 496, 497, 498, 499, 503
- , 504, 506, 507, 507, 508, 509, 510, 511, 512, 513
- , 514, 515, 516, 517, 518, 530, 531, 532, 533, 541
- , 542, 549, 550, 563, 564, 577, 578, 593, 594, 602
- , 603, 614, 615, 623, 624, 635, 636, 647, 648, 659
- , 660, 693, 694, 727, 728, 762, 763, 796, 797, 831
- , 832, 832, 833, 862, 863, 864, 865, 865, 866, 867
- , 868, 869, 870, 870, 871, 872, 873, 874, 875, 876
- , 877, 886, 887, 894, 895, 902, 903, 910, 911, 918
- , 919, 926, 927, 936, 937, 947, 948, 972, 973, 1001
- , 1002, 1026, 1027, 1056, 1057, 1085, 1086, 1114, 1115, 1121
- , 1122, 1151, 1152, 1181, 1182, 1211, 1212, 1222, 1223, 1231
- , 1232, 1240, 1241, 1249, 1250, 1256, 1257, 1293, 1294, 1321
- , 1322, 1348, 1349, 1374, 1375, 1380, 1381, 1407, 1408, 1434
- , 1435, 1454, 1455, 1481, 1482, 1508, 1509, 1535, 1536, 1562
- , 1563, 1589, 1590, 1616, 1617, 1643, 1644, 1670, 1671, 1697
- , 1698, 1724, 1725, 1751, 1752, 1778, 1779, 1805, 1806, 1832
- , 1833, 1859, 1860, 1886, 1887, 1906, 1907, 1909, 1910, 1912
- , 1913, 1913, 1914, 1917, 1918, 1919, 1920, 1921, 1922, 1923
- , 1924, 1926, 1927, 1927, 1928, 1928, 1929, 1931, 1932, 1934
- , 1935, 1955, 1956, 1956, 1957, 1958, 1959, 1970, 1971, 1971
- , 1972, 1972, 1973, 1975, 1976, 1979, 1980, 1981, 1982, 1983
- , 1984, 1986, 1987, 1987, 1988, 1988, 1989, 2000, 2001, 2012
- , 2013, 2013, 2014, 2014, 2015, 2016, 2017, 2028, 2029, 2041
- , 2042, 2043, 2044, 2044, 2045, 2046, 2047, 2049, 2050, 2051
- , 2052, 2063, 2064, 2064, 2065, 2068, 2069, 2070, 2071, 2097
- , 2098, 2124, 2125, 2151, 2152, 2154, 2155, 2157, 2158, 2160
- , 2161, 2163, 2164, 2166, 2167, 2169, 2170, 2172, 2173, 2174
- , 2175, 2182, 2183, 2184, 2185, 2192, 2193, 2197, 2198, 2205
- , 2206, 2213, 2214, 2219, 2220, 2221, 2222, 2229, 2230, 2231
- , 2232, 2233, 2234, 2235, 2236, 2236, 2237, 2239, 2240, 2245
- , 2246, 2251, 2252, 2252, 2253, 2253, 2254, 2255, 2256, 2257
- , 2258, 2259, 2260, 2260, 2261, 2262, 2263, 2263, 2264, 2264
- , 2265, 2265, 2266, 2266, 2267, 2267, 2268, 2271, 2272, 2276
- , 2277, 2281, 2282, 2282, 2283, 2284, 2285, 2286, 2287, 2288
- , 2289, 2295) ;
-
- FollowSymbolMap : constant FollowSymbolArray :=
- ( 96, 96, 71, 80, 72, 2, 4, 10, 12, 14
- , 15, 19, 20, 21, 22, 23, 24, 25, 26, 27
- , 28, 29, 33, 37, 39, 42, 43, 44, 45, 46
- , 51, 53, 54, 55, 56, 57, 59, 60, 61, 62
- , 63, 65, 67, 68, 92, 10, 21, 25, 26, 27
- , 42, 43, 44, 45, 55, 56, 59, 60, 65, 10
- , 21, 25, 26, 27, 42, 43, 44, 45, 55, 56
- , 59, 60, 65, 10, 21, 25, 26, 27, 42, 43
- , 44, 45, 55, 56, 59, 60, 65, 10, 21, 25
- , 26, 27, 42, 43, 44, 45, 55, 56, 59, 60
- , 65, 10, 21, 25, 26, 27, 42, 43, 44, 45
- , 55, 56, 59, 60, 65, 10, 21, 25, 26, 27
- , 42, 43, 44, 45, 54, 55, 56, 59, 60, 63
- , 65, 96, 10, 21, 25, 26, 27, 42, 43, 44
- , 45, 54, 55, 56, 59, 60, 63, 65, 96, 10
- , 21, 25, 26, 27, 42, 43, 44, 45, 55, 56
- , 59, 60, 65, 10, 21, 25, 26, 27, 42, 43
- , 44, 45, 54, 55, 56, 59, 60, 63, 65, 96
- , 10, 21, 25, 26, 27, 42, 43, 44, 45, 55
- , 56, 59, 60, 65, 10, 21, 25, 26, 27, 42
- , 43, 44, 45, 54, 55, 56, 59, 60, 63, 65
- , 96, 10, 21, 25, 26, 27, 42, 43, 44, 45
- , 55, 56, 59, 60, 65, 80, 79, 80, 88, 72
- , 80, 80, 88, 31, 33, 58, 72, 75, 80, 85
- , 75, 79, 10, 21, 25, 26, 27, 42, 43, 44
- , 45, 55, 56, 59, 60, 65, 10, 21, 25, 26
- , 27, 42, 43, 44, 45, 55, 56, 59, 60, 65
- , 10, 21, 25, 26, 27, 42, 43, 44, 45, 55
- , 56, 59, 60, 65, 31, 71, 80, 80, 72, 80
- , 72, 80, 80, 80, 80, 80, 80, 80, 80, 80
- , 80, 7, 16, 17, 30, 31, 33, 34, 36, 39
- , 47, 49, 50, 58, 64, 69, 71, 72, 73, 74
- , 75, 76, 78, 80, 81, 82, 83, 84, 85, 86
- , 87, 88, 89, 90, 91, 80, 88, 7, 16, 17
- , 30, 31, 33, 34, 36, 39, 47, 49, 50, 58
- , 64, 69, 71, 72, 73, 74, 75, 76, 78, 80
- , 81, 82, 83, 84, 85, 86, 87, 88, 89, 90
- , 91, 33, 72, 75, 80, 84, 85, 88, 80, 88
- , 80, 88, 7, 30, 31, 33, 36, 39, 47, 58
- , 64, 72, 75, 80, 81, 82, 83, 84, 85, 86
- , 88, 89, 90, 91, 72, 75, 72, 75, 72, 75
- , 47, 80, 88, 80, 88, 47, 80, 88, 80, 72
- , 75, 72, 75, 38, 7, 9, 30, 31, 33, 34
- , 36, 39, 47, 49, 58, 64, 69, 70, 71, 72
- , 73, 74, 75, 76, 77, 78, 80, 81, 82, 83
- , 84, 85, 86, 87, 88, 89, 90, 91, 33, 72
- , 75, 72, 75, 7, 31, 33, 39, 58, 64, 72
- , 75, 80, 85, 21, 61, 10, 12, 21, 22, 25
- , 26, 27, 42, 43, 44, 45, 54, 55, 56, 59
- , 60, 61, 63, 65, 67, 68, 12, 65, 12, 21
- , 43, 61, 65, 21, 43, 61, 80, 43, 61, 21
- , 61, 21, 61, 84, 85, 84, 85, 10, 21, 25
- , 26, 27, 42, 44, 45, 55, 56, 59, 60, 65
- , 10, 21, 10, 21, 26, 27, 42, 43, 45, 56
- , 60, 10, 21, 26, 27, 42, 45, 56, 60, 10
- , 21, 25, 26, 27, 42, 43, 44, 45, 55, 56
- , 59, 60, 65, 10, 21, 25, 26, 27, 42, 43
- , 44, 45, 55, 56, 59, 60, 65, 10, 21, 25
- , 26, 27, 42, 43, 44, 45, 54, 55, 56, 59
- , 60, 63, 65, 10, 21, 26, 27, 42, 43, 45
- , 56, 60, 10, 21, 26, 27, 42, 43, 45, 54
- , 56, 60, 63, 96, 10, 21, 26, 27, 42, 43
- , 45, 56, 60, 10, 21, 26, 27, 42, 43, 45
- , 54, 56, 60, 63, 96, 10, 21, 26, 27, 42
- , 43, 45, 54, 56, 60, 63, 96, 10, 21, 26
- , 27, 42, 43, 45, 54, 56, 60, 63, 96, 7
- , 9, 30, 31, 33, 34, 36, 39, 47, 49, 58
- , 64, 69, 70, 71, 72, 73, 74, 75, 76, 77
- , 78, 80, 81, 82, 83, 84, 85, 86, 87, 88
- , 89, 90, 91, 7, 9, 30, 31, 33, 34, 36
- , 39, 47, 49, 58, 64, 69, 70, 71, 72, 73
- , 74, 75, 76, 77, 78, 80, 81, 82, 83, 84
- , 85, 86, 87, 88, 89, 90, 91, 7, 9, 30
- , 31, 33, 34, 36, 39, 47, 49, 58, 60, 64
- , 69, 70, 71, 72, 73, 74, 75, 76, 77, 78
- , 80, 81, 82, 83, 84, 85, 86, 87, 88, 89
- , 90, 91, 7, 9, 30, 31, 33, 34, 36, 39
- , 47, 49, 58, 64, 69, 70, 71, 72, 73, 74
- , 75, 76, 77, 78, 80, 81, 82, 83, 84, 85
- , 86, 87, 88, 89, 90, 91, 7, 9, 30, 31
- , 33, 34, 36, 39, 47, 49, 58, 60, 64, 69
- , 70, 71, 72, 73, 74, 75, 76, 77, 78, 80
- , 81, 82, 83, 84, 85, 86, 87, 88, 89, 90
- , 91, 72, 7, 30, 31, 33, 34, 36, 39, 47
- , 49, 58, 64, 69, 72, 73, 74, 75, 76, 78
- , 80, 81, 82, 83, 84, 85, 86, 87, 88, 89
- , 90, 91, 72, 75, 72, 72, 75, 72, 75, 72
- , 72, 75, 72, 75, 72, 75, 7, 31, 33, 39
- , 58, 64, 72, 75, 80, 85, 7, 31, 33, 58
- , 72, 75, 80, 85, 31, 33, 39, 58, 72, 75
- , 80, 85, 31, 33, 58, 64, 72, 75, 80, 85
- , 7, 31, 33, 58, 72, 75, 80, 85, 31, 33
- , 39, 58, 72, 75, 80, 85, 7, 31, 33, 39
- , 58, 64, 72, 75, 80, 85, 3, 35, 36, 37
- , 65, 66, 67, 68, 71, 74, 76, 7, 30, 31
- , 33, 36, 39, 47, 58, 64, 69, 72, 74, 75
- , 76, 80, 81, 82, 83, 84, 85, 86, 88, 89
- , 90, 91, 7, 30, 31, 33, 34, 36, 39, 47
- , 49, 58, 64, 69, 72, 73, 74, 75, 76, 78
- , 80, 81, 82, 83, 84, 85, 86, 88, 89, 90
- , 91, 7, 30, 31, 33, 36, 39, 47, 58, 64
- , 69, 72, 74, 75, 76, 80, 81, 82, 83, 84
- , 85, 86, 88, 89, 90, 91, 7, 30, 31, 33
- , 34, 36, 39, 47, 49, 58, 64, 69, 72, 73
- , 74, 75, 76, 78, 80, 81, 82, 83, 84, 85
- , 86, 87, 88, 89, 90, 91, 7, 30, 31, 33
- , 34, 36, 39, 47, 49, 58, 64, 69, 72, 73
- , 74, 75, 76, 78, 80, 81, 82, 83, 84, 85
- , 86, 88, 89, 90, 91, 7, 30, 31, 33, 34
- , 36, 39, 47, 49, 58, 64, 69, 72, 73, 74
- , 75, 76, 78, 80, 81, 82, 83, 84, 85, 86
- , 88, 89, 90, 91, 35, 37, 65, 66, 67, 68
- , 71, 7, 30, 31, 33, 34, 36, 39, 47, 49
- , 58, 64, 69, 72, 73, 74, 75, 76, 78, 80
- , 81, 82, 83, 84, 85, 86, 87, 88, 89, 90
- , 91, 7, 30, 31, 33, 34, 36, 39, 47, 49
- , 58, 64, 69, 72, 73, 74, 75, 76, 78, 80
- , 81, 82, 83, 84, 85, 86, 87, 88, 89, 90
- , 91, 7, 30, 31, 33, 34, 36, 39, 47, 49
- , 58, 64, 69, 72, 73, 74, 75, 76, 78, 80
- , 81, 82, 83, 84, 85, 86, 87, 88, 89, 90
- , 91, 3, 35, 36, 37, 65, 66, 67, 68, 71
- , 74, 76, 3, 35, 36, 37, 65, 66, 67, 68
- , 71, 3, 35, 36, 37, 65, 66, 67, 68, 71
- , 3, 35, 36, 37, 65, 66, 67, 68, 71, 35
- , 37, 65, 66, 67, 68, 71, 7, 16, 17, 30
- , 31, 33, 34, 36, 39, 47, 49, 50, 58, 61
- , 64, 69, 70, 71, 72, 73, 74, 75, 76, 77
- , 78, 80, 81, 82, 83, 84, 85, 86, 87, 88
- , 89, 90, 91, 2, 4, 10, 12, 14, 15, 19
- , 20, 21, 23, 24, 25, 28, 29, 33, 37, 39
- , 43, 46, 51, 53, 57, 61, 62, 65, 67, 68
- , 92, 2, 4, 10, 12, 14, 15, 19, 20, 21
- , 23, 24, 25, 28, 29, 33, 37, 39, 43, 46
- , 51, 53, 61, 62, 65, 67, 68, 92, 2, 4
- , 10, 12, 14, 15, 19, 20, 21, 23, 24, 25
- , 28, 29, 33, 37, 39, 46, 51, 53, 61, 62
- , 65, 67, 68, 92, 19, 20, 21, 23, 39, 61
- , 2, 4, 10, 12, 14, 15, 19, 20, 21, 23
- , 24, 25, 28, 29, 33, 37, 39, 43, 46, 51
- , 53, 61, 62, 65, 67, 68, 92, 2, 4, 10
- , 12, 14, 15, 19, 20, 21, 23, 24, 25, 28
- , 29, 33, 37, 39, 43, 46, 51, 53, 61, 62
- , 65, 67, 68, 92, 2, 4, 10, 12, 14, 15
- , 24, 25, 28, 29, 33, 37, 46, 51, 53, 62
- , 65, 67, 68, 92, 2, 4, 10, 12, 14, 15
- , 19, 20, 21, 23, 24, 25, 28, 29, 33, 37
- , 39, 43, 46, 51, 53, 61, 62, 65, 67, 68
- , 92, 2, 4, 10, 12, 14, 15, 19, 20, 21
- , 23, 24, 25, 28, 29, 33, 37, 39, 43, 46
- , 51, 53, 61, 62, 65, 67, 68, 92, 2, 4
- , 10, 12, 14, 15, 19, 20, 21, 23, 24, 25
- , 28, 29, 33, 37, 39, 43, 46, 51, 53, 61
- , 62, 65, 67, 68, 92, 2, 4, 10, 12, 14
- , 15, 19, 20, 21, 23, 24, 25, 28, 29, 33
- , 37, 39, 43, 46, 51, 53, 61, 62, 65, 67
- , 68, 92, 2, 4, 10, 12, 14, 15, 19, 20
- , 21, 23, 24, 25, 28, 29, 33, 37, 39, 43
- , 46, 51, 53, 61, 62, 65, 67, 68, 92, 2
- , 4, 10, 12, 14, 15, 19, 20, 21, 23, 24
- , 25, 28, 29, 33, 37, 39, 43, 46, 51, 53
- , 61, 62, 65, 67, 68, 92, 2, 4, 10, 12
- , 14, 15, 19, 20, 21, 23, 24, 25, 28, 29
- , 33, 37, 39, 43, 46, 51, 53, 61, 62, 65
- , 67, 68, 92, 2, 4, 10, 12, 14, 15, 19
- , 20, 21, 23, 24, 25, 28, 29, 33, 37, 39
- , 43, 46, 51, 53, 61, 62, 65, 67, 68, 92
- , 2, 4, 10, 12, 14, 15, 19, 20, 21, 23
- , 24, 25, 28, 29, 33, 37, 39, 43, 46, 51
- , 53, 61, 62, 65, 67, 68, 92, 2, 4, 10
- , 12, 14, 15, 19, 20, 21, 23, 24, 25, 28
- , 29, 33, 37, 39, 43, 46, 51, 53, 61, 62
- , 65, 67, 68, 92, 2, 4, 10, 12, 14, 15
- , 19, 20, 21, 23, 24, 25, 28, 29, 33, 37
- , 39, 43, 46, 51, 53, 61, 62, 65, 67, 68
- , 92, 2, 4, 10, 12, 14, 15, 19, 20, 21
- , 23, 24, 25, 28, 29, 33, 37, 39, 43, 46
- , 51, 53, 61, 62, 65, 67, 68, 92, 2, 4
- , 10, 12, 14, 15, 19, 20, 21, 23, 24, 25
- , 28, 29, 33, 37, 39, 43, 46, 51, 53, 61
- , 62, 65, 67, 68, 92, 2, 4, 10, 12, 14
- , 15, 19, 20, 21, 23, 24, 25, 28, 29, 33
- , 37, 39, 43, 46, 51, 53, 61, 62, 65, 67
- , 68, 92, 2, 4, 10, 12, 14, 15, 19, 20
- , 21, 23, 24, 25, 28, 29, 33, 37, 39, 43
- , 46, 51, 53, 61, 62, 65, 67, 68, 92, 2
- , 4, 10, 12, 14, 15, 19, 20, 21, 23, 24
- , 25, 28, 29, 33, 37, 39, 43, 46, 51, 53
- , 61, 62, 65, 67, 68, 92, 2, 4, 10, 12
- , 14, 15, 24, 25, 28, 29, 33, 37, 46, 51
- , 53, 62, 65, 67, 68, 92, 19, 20, 21, 19
- , 20, 21, 21, 33, 58, 80, 85, 43, 61, 21
- , 61, 21, 61, 25, 33, 62, 80, 33, 65, 67
- , 80, 65, 67, 80, 2, 4, 10, 12, 14, 15
- , 24, 25, 28, 29, 33, 37, 43, 46, 51, 53
- , 62, 65, 67, 68, 92, 21, 10, 14, 10, 25
- , 26, 27, 42, 43, 45, 55, 56, 59, 60, 65
- , 80, 80, 31, 50, 80, 31, 50, 71, 80, 72
- , 80, 72, 80, 31, 51, 71, 65, 65, 10, 25
- , 26, 27, 42, 43, 45, 55, 56, 59, 60, 65
- , 10, 21, 26, 27, 42, 43, 45, 54, 56, 60
- , 63, 96, 80, 80, 31, 50, 21, 25, 26, 27
- , 42, 43, 45, 55, 56, 59, 60, 65, 10, 21
- , 25, 26, 27, 42, 43, 45, 55, 56, 59, 60
- , 65, 75, 80, 80, 31, 80, 21, 22, 25, 21
- , 25, 10, 25, 26, 27, 42, 43, 45, 55, 56
- , 59, 60, 65, 80, 21, 22, 25, 43, 18, 80
- , 2, 4, 10, 12, 14, 15, 19, 20, 21, 23
- , 24, 25, 28, 29, 33, 37, 39, 43, 46, 51
- , 53, 61, 62, 65, 67, 68, 92, 2, 4, 10
- , 12, 14, 15, 19, 20, 21, 23, 24, 25, 28
- , 29, 33, 37, 39, 43, 46, 51, 53, 61, 62
- , 65, 67, 68, 92, 2, 4, 10, 12, 14, 15
- , 19, 20, 21, 23, 24, 25, 28, 29, 33, 37
- , 39, 43, 46, 51, 53, 61, 62, 65, 67, 68
- , 92, 19, 21, 39, 19, 21, 39, 19, 21, 39
- , 19, 21, 39, 19, 21, 39, 19, 21, 39, 19
- , 21, 39, 75, 80, 26, 27, 42, 43, 45, 54
- , 63, 96, 71, 80, 26, 27, 42, 43, 45, 54
- , 63, 96, 26, 27, 42, 45, 54, 26, 27, 42
- , 43, 45, 54, 63, 96, 26, 27, 42, 43, 45
- , 54, 63, 96, 26, 27, 42, 45, 54, 63, 75
- , 80, 26, 27, 42, 43, 45, 54, 60, 63, 84
- , 85, 84, 85, 21, 61, 80, 26, 42, 45, 26
- , 42, 45, 59, 63, 65, 26, 42, 45, 59, 63
- , 65, 80, 80, 72, 75, 72, 75, 72, 75, 85
- , 72, 75, 80, 80, 80, 80, 80, 21, 65, 67
- , 68, 21, 43, 65, 67, 68, 21, 43, 65, 67
- , 68, 80, 72, 75, 84, 85, 21, 61, 26, 27
- , 42, 45, 54, 60, 63) ;
- --| Map of states to sets of follow symbols
- -- NYU Reference Name: FOLLOW
-
- ------------------------------------------------------------------
- -- Action_Token_Map
- ------------------------------------------------------------------
-
-
- type Action_Token_Array_Index is array(
- PositiveParserInteger range <>) of GC.ParserInteger ;
- --| For indexing the All Action Token Array.
- --| Maps a given state into the lower and upper bounds of a slice
- --| of the All Action Index Array.
-
- Action_Token_MapIndex : constant Action_Token_Array_Index :=
- ( 1, 1, 2, 2, 3, 2, 3, 9, 10, 11
- , 12, 11, 12, 16, 17, 17, 18, 17, 18, 17
- , 18, 17, 18, 28, 29, 28, 29, 30, 31, 30
- , 31, 32, 33, 33, 34, 34, 35, 34, 35, 34
- , 35, 34, 35, 34, 35, 34, 35, 34, 35, 36
- , 37, 36, 37, 37, 38, 37, 38, 37, 38, 37
- , 38, 38, 39, 41, 42, 42, 43, 42, 43, 42
- , 43, 43, 44, 43, 44, 43, 44, 71, 72, 71
- , 72, 71, 72, 71, 72, 83, 84, 83, 84, 83
- , 84, 84, 85, 84, 85, 93, 94, 97, 98, 97
- , 98, 97, 98, 97, 98, 97, 98, 98, 99, 98
- , 99, 101, 102, 102, 103, 103, 104, 104, 105, 105
- , 106, 106, 107, 109, 110, 113, 114, 113, 114, 114
- , 115, 114, 115, 121, 122, 121, 122, 121, 122, 121
- , 122, 130, 131, 130, 131, 130, 131, 130, 131, 133
- , 134, 136, 137, 137, 138, 137, 138, 138, 139, 138
- , 139, 139, 140, 140, 141, 141, 142, 141, 142, 142
- , 143, 152, 153, 153, 154, 155, 156, 155, 156, 155
- , 156, 157, 158, 158, 159, 158, 159, 160, 161, 161
- , 162, 161, 162, 161, 162, 161, 162, 162, 163, 163
- , 164, 163, 164, 164, 165, 164, 165, 166, 167, 168
- , 169, 169, 170, 169, 170, 171, 172, 187, 188, 191
- , 192, 191, 192, 192, 193, 193, 194, 193, 194, 193
- , 194, 194, 195, 194, 195, 195, 196, 195, 196, 195
- , 196, 195, 196, 206, 207, 206, 207, 206, 207, 206
- , 207, 206, 207, 217, 218, 228, 229, 239, 240, 244
- , 245, 255, 256, 259, 260, 259, 260, 270, 271, 271
- , 272, 283, 284, 295, 296, 306, 307, 317, 318, 328
- , 329, 339, 340, 340, 341, 341, 342, 341, 342, 341
- , 342, 341, 342, 350, 351, 350, 351, 350, 351, 350
- , 351, 350, 351, 359, 360, 359, 360, 359, 360, 366
- , 367, 369, 370, 369, 370, 369, 370, 370, 371, 371
- , 372, 372, 373, 373, 374, 375, 376, 375, 376, 376
- , 377, 376, 377, 377, 378, 378, 379, 379, 380, 381
- , 382, 382, 383, 383, 384, 383, 384, 386, 387, 388
- , 389, 389, 390, 392, 393, 393, 394, 394, 395, 394
- , 395, 394, 395, 394, 395, 394, 395, 394, 395, 394
- , 395, 394, 395, 394, 395, 394, 395, 394, 395, 394
- , 395, 394, 395, 395, 396, 396, 397, 396, 397, 396
- , 397, 396, 397, 396, 397, 396, 397, 396, 397, 396
- , 397, 396, 397, 396, 397, 396, 397, 396, 397, 396
- , 397, 399, 400, 400, 401, 400, 401, 401, 402, 401
- , 402, 401, 402, 401, 402, 401, 402, 401, 402, 401
- , 402, 401, 402, 401, 402, 401, 402, 402, 403, 403
- , 404, 403, 404, 404, 405, 406, 407, 407, 408, 409
- , 410, 409, 410, 420, 421, 421, 422, 422, 423, 423
- , 424, 434, 435, 445, 446, 445, 446, 457, 458, 468
- , 469, 468, 469, 470, 471, 470, 471, 482, 483, 482
- , 483, 483, 484, 483, 484, 483, 484, 483, 484, 484
- , 485, 484, 485, 484, 485, 485, 486, 485, 486, 485
- , 486, 485, 486, 485, 486, 485, 486, 485, 486, 485
- , 486, 486, 487, 486, 487, 486, 487, 486, 487, 486
- , 487, 486, 487, 486, 487, 486, 487, 487, 488, 498
- , 499, 506, 507, 506, 507, 517, 518, 517, 518, 517
- , 518, 517, 518, 517, 518, 517, 518, 528, 529, 539
- , 540, 539, 540, 539, 540, 539, 540, 540, 541, 540
- , 541, 541, 542, 542, 543, 542, 543, 542, 543, 544
- , 545, 545, 546, 546, 547, 547, 548, 548, 549, 548
- , 549, 549, 550, 561, 562, 561, 562, 565, 566, 568
- , 569, 570, 571, 571, 572, 574, 575, 575, 576, 576
- , 577, 578, 579, 579, 580, 580, 581, 581, 582, 581
- , 582, 582, 583, 585, 586, 586, 587, 586, 587, 590
- , 591, 591, 592, 597, 598, 598, 599, 600, 601, 603
- , 604, 603, 604, 604, 605, 604, 605, 625, 626, 627
- , 628, 627, 628, 628, 629, 628, 629, 628, 629, 629
- , 630, 629, 630, 630, 631, 631, 632, 631, 632, 631
- , 632, 631, 632, 631, 632, 631, 632, 631, 632, 631
- , 632, 631, 632, 631, 632, 631, 632, 642, 643, 653
- , 654, 653, 654, 653, 654, 653, 654, 665, 666, 665
- , 666, 676, 677, 687, 688, 687, 688, 688, 689, 688
- , 689, 688, 689, 688, 689, 688, 689, 688, 689, 688
- , 689, 691, 692, 693, 694, 694, 695, 694, 695, 696
- , 697, 704, 705, 705, 706, 709, 710, 710, 711, 711
- , 712, 712, 713, 713, 714, 716, 717, 717, 718, 718
- , 719, 718, 719, 720, 721, 723, 724, 723, 724, 725
- , 726, 726, 727, 727, 728, 727, 728, 728, 729, 739
- , 740, 739, 740, 750, 751, 750, 751, 753, 754, 757
- , 758, 768, 769, 769, 770, 770, 771, 771, 772, 772
- , 773, 773, 774, 774, 775, 774, 775, 784, 785, 785
- , 786, 785, 786, 786, 787, 788, 789, 789, 790, 792
- , 793, 794, 795, 795, 796, 796, 797, 801, 802, 803
- , 804, 803, 804, 803, 804, 803, 804, 803, 804, 803
- , 804, 803, 804, 803, 804, 803, 804, 805, 806, 806
- , 807, 810, 811, 811, 812, 814, 815, 815, 816, 826
- , 827, 837, 838, 839, 840, 840, 841, 851, 852, 852
- , 853, 854, 855, 866, 867, 866, 867, 867, 868, 868
- , 869, 868, 869, 873, 874, 873, 874, 873, 874, 873
- , 874, 893, 894, 893, 894, 893, 894, 893, 894, 893
- , 894, 893, 894, 893, 894, 893, 894, 893, 894, 893
- , 894, 893, 894, 893, 894, 893, 894, 893, 894, 893
- , 894, 893, 894, 893, 894, 893, 894, 896, 897, 898
- , 899, 899, 900, 900, 901, 900, 901, 900, 901, 900
- , 901, 901, 902, 901, 902, 901, 902, 901, 902, 901
- , 902, 901, 902, 902, 903, 903, 904, 903, 904, 903
- , 904, 904, 905, 904, 905, 904, 905, 904, 905, 915
- , 916, 915, 916, 915, 916, 916, 917, 917, 918, 918
- , 919, 919, 920, 920, 921, 921, 922, 922, 923, 923
- , 924, 923, 924, 924, 925, 925, 926, 925, 926, 925
- , 926, 925, 926, 925, 926, 926, 927, 927, 928, 927
- , 928, 927, 928, 930, 931, 930, 931, 930, 931, 930
- , 931, 941, 942, 942, 943, 953, 954, 953, 954, 953
- , 954, 954, 955, 965, 966, 965, 966, 966, 967, 966
- , 967, 991, 992, 1016, 1017, 1016, 1017, 1016, 1017, 1016
- , 1017, 1017, 1018, 1017, 1018, 1018, 1019, 1029, 1030, 1030
- , 1031, 1042, 1043, 1042, 1043, 1042, 1043, 1043, 1044, 1045
- , 1046, 1045, 1046, 1049, 1050, 1049, 1050, 1050, 1051, 1050
- , 1051, 1051, 1052, 1052, 1053, 1063, 1064, 1074, 1075, 1075
- , 1076, 1076, 1077, 1077, 1078, 1078, 1079, 1080, 1081, 1080
- , 1081, 1080, 1081, 1080, 1081, 1080, 1081, 1080, 1081, 1080
- , 1081, 1080, 1081, 1080, 1081, 1080, 1081, 1080, 1081, 1080
- , 1081, 1081, 1082, 1082, 1083, 1082, 1083, 1082, 1083, 1083
- , 1084, 1083, 1084, 1094, 1095, 1095, 1096, 1106, 1107, 1107
- , 1108, 1108, 1109, 1109, 1110, 1109, 1110, 1109, 1110, 1109
- , 1110, 1112, 1113, 1123, 1124, 1123, 1124, 1123, 1124, 1123
- , 1124, 1123, 1124, 1124, 1125, 1124, 1125, 1124, 1125, 1124
- , 1125, 1127, 1128, 1128, 1129, 1129, 1130, 1130, 1131, 1141
- , 1142, 1143, 1144, 1144, 1145, 1144, 1145, 1144, 1145, 1145
- , 1146, 1145, 1146, 1145, 1146, 1147, 1148, 1147, 1148, 1148
- , 1149, 1156, 1157, 1156, 1157, 1161, 1162, 1162, 1163, 1167
- , 1168, 1167, 1168, 1178, 1179, 1179, 1180, 1205, 1206, 1205
- , 1206, 1205, 1206, 1205, 1206, 1206, 1207, 1206, 1207, 1217
- , 1218, 1218, 1219, 1218, 1219, 1219, 1220, 1219, 1220, 1219
- , 1220, 1219, 1220, 1219, 1220, 1221, 1222, 1222, 1223, 1222
- , 1223, 1222, 1223, 1222, 1223, 1222, 1223, 1223, 1224, 1223
- , 1224, 1223, 1224, 1234, 1235, 1234, 1235, 1234, 1235, 1234
- , 1235, 1234, 1235, 1235, 1236, 1235, 1236, 1236, 1237, 1238
- , 1239, 1238, 1239, 1238, 1239, 1238, 1239, 1239, 1240, 1240
- , 1241, 1242, 1243, 1253, 1254, 1254, 1255, 1254, 1255, 1255
- , 1256, 1256, 1257, 1260, 1261, 1260, 1261, 1261, 1262, 1262
- , 1263, 1262, 1263, 1263, 1264, 1264, 1265, 1265, 1266, 1267
- , 1268, 1267, 1268, 1267, 1268, 1267, 1268, 1268, 1269, 1268
- , 1269, 1268, 1269, 1269, 1270, 1270, 1271, 1271, 1272, 1271
- , 1272, 1271, 1272, 1271, 1272, 1271, 1272, 1271, 1272, 1271
- , 1272, 1271, 1272, 1273, 1274, 1274, 1275, 1278, 1279, 1278
- , 1279, 1278, 1279, 1279, 1280, 1280, 1281, 1280, 1281, 1280
- , 1281, 1282, 1283, 1286, 1287, 1287, 1288, 1289, 1290, 1300
- , 1301, 1302, 1303, 1302, 1303, 1302, 1303, 1302, 1303, 1313
- , 1314, 1315, 1316, 1315, 1316, 1315, 1316, 1315, 1316, 1316
- , 1317, 1327, 1328, 1331, 1332, 1331, 1332, 1331, 1332, 1331
- , 1332, 1331, 1332, 1331, 1332, 1331, 1332, 1331, 1332, 1333
- , 1334, 1333, 1334, 1333, 1334, 1334, 1335, 1334, 1335, 1335
- , 1336, 1336, 1337, 1336, 1337, 1336, 1337, 1337, 1338, 1338
- , 1339, 1340, 1341, 1340, 1341, 1340, 1341, 1341, 1342, 1341
- , 1342, 1343, 1344, 1343, 1344, 1343, 1344, 1347, 1348, 1347
- , 1348, 1348, 1349, 1349, 1350, 1350, 1351, 1352, 1353, 1352
- , 1353, 1352, 1353, 1353, 1354, 1364, 1365, 1364, 1365, 1364
- , 1365, 1375, 1376, 1376, 1377, 1380, 1381, 1380, 1381, 1384
- , 1385, 1384, 1385, 1384, 1385, 1386, 1387, 1387, 1388, 1388
- , 1389, 1388, 1389, 1389, 1390, 1389, 1390, 1389, 1390, 1390
- , 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1396, 1397, 1398
- , 1399, 1398, 1399, 1398, 1399, 1398, 1399, 1398, 1399, 1398
- , 1399, 1401, 1402, 1401, 1402, 1428, 1429, 1429, 1430, 1429
- , 1430, 1429, 1430, 1429, 1430, 1431, 1432, 1431, 1432, 1431
- , 1432, 1442, 1443, 1443, 1444, 1443, 1444, 1443, 1444, 1444
- , 1445, 1468, 1469, 1468, 1469, 1468, 1469, 1470, 1471, 1470
- , 1471, 1470, 1471, 1471, 1472, 1471, 1472, 1472, 1473, 1484
- , 1485, 1485, 1486, 1486, 1487, 1486, 1487, 1487, 1488, 1487
- , 1488, 1488, 1489, 1488, 1489, 1488, 1489, 1489, 1490, 1491
- , 1492, 1503, 1504, 1503, 1504, 1511, 1512, 1511, 1512, 1512
- , 1513, 1512, 1513, 1512, 1513, 1513, 1514, 1513, 1514, 1524
- , 1525, 1525, 1526, 1526, 1527, 1527, 1528, 1538, 1539, 1539
- , 1540, 1539, 1540, 1540, 1541, 1541, 1542, 1541, 1542, 1542
- , 1543, 1543, 1544, 1543, 1544, 1543, 1544, 1544, 1545, 1544
- , 1545, 1546, 1547, 1556, 1557, 1556, 1557, 1557, 1558, 1557
- , 1558, 1568, 1569, 1571, 1572, 1572, 1573, 1574, 1575, 1575
- , 1576, 1587, 1588, 1587, 1588, 1587, 1588, 1588, 1589, 1589
- , 1590, 1590, 1591, 1593, 1594, 1593, 1594, 1593, 1594, 1598
- , 1599, 1598, 1599, 1599, 1600, 1610, 1611, 1610, 1611, 1611
- , 1612, 1612, 1613, 1612, 1613, 1614, 1615, 1614, 1615, 1615
- , 1616, 1618, 1619, 1618, 1619, 1619, 1620, 1619, 1620, 1619
- , 1620, 1620, 1621, 1620, 1621, 1620, 1621, 1621, 1622, 1621
- , 1622, 1621, 1622, 1622, 1623, 1623, 1624, 1628, 1629, 1629
- , 1630, 1629, 1630, 1629, 1630, 1630, 1631, 1631, 1632, 1631
- , 1632, 1631, 1632, 1632, 1633, 1632, 1633, 1633, 1634, 1634
- , 1635, 1634, 1635, 1636, 1637, 1636, 1637, 1637, 1638, 1637
- , 1638, 1638, 1639, 1640, 1641, 1641, 1642, 1641, 1642, 1642
- , 1643, 1643, 1644, 1645, 1646, 1645, 1646, 1646, 1647, 1646
- , 1647, 1650, 1651, 1650, 1651, 1651, 1652, 1652, 1653, 1654
- , 1655, 1654, 1655, 1655, 1656, 1656, 1657, 1656, 1657, 1656
- , 1657, 1657, 1658, 1657, 1658, 1659, 1660, 1660, 1661, 1660
- , 1661, 1660, 1661, 1660, 1661, 1661, 1662, 1662, 1663, 1662
- , 1663, 1662, 1663, 1663, 1664, 1663, 1664, 1663, 1664, 1663
- , 1664, 1664, 1665, 1664, 1665, 1665, 1666, 1665, 1666, 1667
- , 1668, 1667, 1668, 1667, 1668, 1669, 1670, 1669, 1670, 1669
- , 1670, 1669, 1670, 1670, 1671, 1671, 1672, 1672, 1673, 1672
- , 1673, 1672, 1673, 1684, 1685, 1684, 1685, 1684, 1685, 1684
- , 1685, 1684, 1685, 1684, 1685, 1684, 1685, 1685, 1686, 1687
- , 1688, 1688, 1689, 1688, 1689, 1690, 1691, 1690, 1691, 1690
- , 1691, 1691, 1692, 1693, 1694, 1694, 1695, 1694, 1695, 1694
- , 1695, 1695, 1696, 1696, 1697, 1696, 1697, 1696) ;
-
- Action_Token_Map : constant Action_Token_Array :=
- ( 43, 65, 26, 27, 63, 42, 43, 45, 54, 71
- , 80, 45, 26, 27, 42, 54, 63, 36, 66, 67
- , 68, 76, 3, 35, 37, 65, 71, 74, 65, 67
- , 11, 65, 65, 71, 80, 31, 80, 80, 42, 45
- , 26, 65, 65, 7, 34, 36, 39, 70, 71, 72
- , 73, 74, 75, 76, 77, 78, 81, 82, 87, 90
- , 91, 30, 47, 49, 64, 69, 83, 84, 85, 86
- , 89, 3, 37, 68, 71, 76, 35, 36, 40, 65
- , 66, 67, 74, 72, 30, 36, 81, 82, 86, 89
- , 91, 83, 90, 47, 70, 71, 77, 75, 39, 7
- , 64, 7, 39, 64, 7, 39, 69, 74, 76, 34
- , 49, 73, 78, 87, 35, 37, 65, 66, 67, 68
- , 71, 3, 35, 36, 37, 65, 66, 67, 68, 71
- , 31, 51, 71, 59, 63, 65, 65, 31, 71, 65
- , 35, 43, 27, 25, 26, 42, 45, 55, 56, 59
- , 60, 65, 10, 65, 67, 21, 10, 65, 65, 67
- , 65, 43, 60, 71, 77, 70, 84, 85, 85, 72
- , 75, 72, 75, 81, 82, 83, 84, 85, 86, 7
- , 30, 36, 39, 64, 89, 90, 91, 47, 70, 71
- , 77, 72, 75, 80, 30, 35, 36, 66, 68, 3
- , 37, 65, 67, 71, 74, 76, 3, 37, 67, 71
- , 76, 35, 36, 65, 66, 68, 74, 35, 36, 37
- , 66, 67, 68, 3, 65, 71, 74, 76, 3, 35
- , 36, 37, 65, 66, 67, 68, 71, 74, 76, 16
- , 17, 47, 65, 71, 35, 37, 65, 66, 67, 68
- , 76, 3, 36, 71, 74, 65, 68, 6, 67, 3
- , 35, 36, 37, 65, 67, 68, 76, 66, 71, 74
- , 75, 35, 36, 67, 3, 37, 58, 65, 66, 68
- , 71, 74, 76, 36, 65, 66, 3, 19, 35, 37
- , 67, 68, 71, 74, 76, 3, 35, 36, 37, 66
- , 65, 67, 68, 71, 74, 76, 3, 35, 36, 37
- , 65, 66, 68, 71, 74, 67, 76, 3, 36, 65
- , 74, 35, 37, 66, 67, 68, 71, 76, 3, 35
- , 36, 37, 65, 67, 68, 71, 74, 66, 76, 58
- , 19, 3, 37, 65, 67, 68, 35, 36, 66, 71
- , 35, 36, 37, 66, 68, 71, 3, 65, 67, 35
- , 37, 65, 66, 68, 67, 71, 70, 71, 77, 35
- , 65, 65, 65, 45, 26, 79, 31, 35, 65, 72
- , 77, 65, 65, 65, 67, 68, 65, 11, 65, 65
- , 11, 59, 65, 65, 80, 79, 31, 50, 80, 80
- , 80, 80, 65, 80, 51, 71, 31, 75, 80, 35
- , 37, 65, 66, 67, 76, 3, 36, 68, 71, 74
- , 71, 65, 65, 3, 66, 35, 36, 37, 65, 67
- , 68, 71, 74, 76, 36, 66, 3, 35, 37, 65
- , 67, 68, 71, 74, 76, 35, 36, 37, 65, 66
- , 67, 71, 3, 40, 68, 74, 76, 35, 65, 66
- , 67, 68, 71, 3, 36, 37, 74, 76, 84, 85
- , 36, 37, 65, 3, 35, 40, 66, 67, 68, 71
- , 74, 76, 75, 86, 86, 72, 65, 36, 65, 66
- , 67, 68, 3, 35, 37, 71, 74, 76, 36, 81
- , 83, 89, 90, 91, 30, 82, 36, 37, 65, 66
- , 67, 68, 71, 3, 35, 74, 76, 3, 74, 76
- , 35, 36, 37, 65, 66, 67, 68, 71, 3, 65
- , 66, 74, 76, 35, 36, 37, 67, 68, 71, 65
- , 77, 79, 31, 71, 31, 75, 30, 65, 65, 21
- , 27, 42, 44, 45, 55, 59, 60, 65, 25, 26
- , 56, 45, 56, 26, 42, 71, 77, 80, 71, 80
- , 60, 70, 71, 77, 60, 65, 31, 50, 31, 65
- , 65, 31, 31, 71, 80, 77, 8, 13, 65, 23
- , 43, 26, 27, 42, 60, 45, 56, 43, 35, 54
- , 65, 67, 68, 65, 2, 4, 10, 14, 15, 28
- , 29, 43, 62, 65, 67, 68, 92, 12, 24, 25
- , 33, 37, 46, 51, 53, 21, 23, 80, 65, 43
- , 72, 3, 35, 36, 37, 66, 67, 76, 65, 68
- , 71, 74, 35, 37, 65, 66, 68, 71, 74, 76
- , 3, 36, 67, 35, 36, 37, 66, 68, 71, 76
- , 3, 40, 65, 67, 74, 36, 65, 66, 68, 74
- , 3, 35, 37, 67, 71, 76, 35, 36, 65, 66
- , 67, 68, 71, 76, 3, 37, 74, 75, 71, 77
- , 80, 30, 41, 65, 72, 80, 16, 32, 47, 5
- , 8, 17, 44, 71, 65, 67, 94, 65, 68, 80
- , 65, 41, 88, 71, 80, 77, 65, 65, 65, 59
- , 31, 50, 80, 80, 72, 11, 11, 31, 3, 35
- , 36, 37, 65, 66, 67, 68, 71, 74, 76, 65
- , 66, 67, 71, 74, 35, 36, 37, 68, 76, 3
- , 9, 71, 48, 16, 17, 47, 65, 3, 36, 37
- , 66, 35, 65, 67, 68, 71, 74, 76, 31, 65
- , 65, 80, 31, 31, 5, 16, 32, 35, 47, 48
- , 71, 8, 17, 44, 65, 80, 75, 80, 71, 8
- , 88, 65, 50, 80, 88, 88, 16, 17, 47, 50
- , 71, 11, 65, 31, 80, 80, 70, 71, 77, 80
- , 80, 68, 65, 67, 65, 3, 65, 66, 67, 68
- , 71, 74, 76, 35, 36, 37, 36, 66, 68, 74
- , 3, 35, 37, 65, 67, 71, 76, 65, 61, 65
- , 65, 66, 67, 68, 71, 3, 35, 36, 37, 74
- , 76, 80, 65, 80, 3, 35, 37, 66, 68, 74
- , 76, 80, 36, 65, 67, 71, 79, 65, 70, 71
- , 88, 77, 80, 2, 12, 25, 29, 33, 37, 53
- , 68, 92, 4, 10, 14, 15, 24, 28, 46, 51
- , 62, 65, 67, 25, 33, 62, 14, 10, 80, 80
- , 80, 75, 86, 75, 3, 35, 36, 66, 67, 68
- , 71, 74, 37, 65, 76, 88, 51, 65, 65, 71
- , 94, 94, 44, 94, 94, 80, 79, 70, 77, 71
- , 35, 3, 36, 37, 65, 66, 67, 68, 71, 74
- , 76, 80, 35, 36, 67, 68, 71, 76, 3, 37
- , 65, 66, 74, 35, 25, 26, 45, 65, 21, 27
- , 42, 55, 56, 59, 60, 65, 7, 30, 34, 49
- , 64, 69, 70, 71, 76, 82, 85, 87, 89, 90
- , 91, 36, 39, 72, 73, 74, 75, 77, 78, 81
- , 83, 7, 30, 34, 36, 39, 64, 70, 71, 73
- , 75, 76, 77, 83, 85, 89, 49, 69, 72, 74
- , 78, 81, 82, 87, 90, 91, 85, 72, 37, 65
- , 66, 68, 71, 3, 35, 36, 67, 74, 76, 9
- , 3, 35, 36, 66, 76, 37, 40, 65, 67, 68
- , 71, 74, 54, 77, 80, 16, 17, 47, 71, 54
- , 43, 22, 3, 35, 68, 71, 36, 37, 65, 66
- , 67, 74, 76, 66, 68, 71, 3, 35, 36, 37
- , 65, 67, 74, 76, 44, 65, 80, 37, 65, 68
- , 47, 47, 65, 36, 37, 67, 68, 74, 76, 3
- , 35, 65, 66, 71, 38, 3, 37, 65, 68, 76
- , 35, 36, 66, 67, 71, 74, 88, 88, 65, 65
- , 68, 67, 3, 35, 37, 66, 68, 71, 74, 36
- , 65, 67, 76, 43, 70, 71, 77, 71, 31, 80
- , 35, 36, 66, 67, 71, 74, 76, 3, 37, 65
- , 68, 61, 77, 77, 58, 80, 77, 80, 57, 61
- , 4, 15, 43, 65, 67, 68, 25, 62, 10, 14
- , 33, 93, 16, 17, 47, 65, 71, 35, 37, 65
- , 66, 74, 3, 36, 67, 68, 71, 76, 43, 2
- , 4, 10, 12, 14, 15, 21, 23, 28, 29, 33
- , 37, 39, 46, 51, 53, 61, 62, 65, 67, 92
- , 19, 20, 24, 25, 68, 65, 37, 65, 67, 68
- , 71, 74, 76, 3, 35, 36, 66, 33, 65, 43
- , 61, 21, 65, 3, 35, 37, 36, 65, 66, 67
- , 68, 71, 74, 76, 72, 65, 80, 72, 65, 31
- , 72, 75, 35, 36, 74, 3, 37, 65, 66, 67
- , 68, 71, 76, 80, 34, 43, 65, 67, 68, 21
- , 75, 80, 80, 22, 65, 21, 25, 80, 80, 21
- , 43, 72, 80, 77, 47, 70, 71, 77, 65, 80
- , 80, 77, 77, 80, 70, 71, 72, 75, 80, 65
- , 66, 67, 76, 3, 35, 36, 37, 68, 71, 74
- , 80, 18, 3, 71, 35, 36, 37, 65, 66, 67
- , 68, 74, 76, 19, 20, 80, 35, 36, 37, 65
- , 67, 71, 74, 76, 3, 66, 68, 70, 71, 77
- , 80, 19, 39, 80, 30, 21, 80, 65, 40, 65
- , 61, 72, 75, 70, 71, 77, 47, 88, 31, 65
- , 75, 72, 80, 3, 36, 37, 67, 68, 76, 35
- , 65, 66, 71, 74, 3, 35, 36, 37, 65, 66
- , 67, 74, 76, 68, 71, 48, 9, 71, 77, 70
- , 21, 65, 67, 68, 21, 25, 71, 65, 43, 48
- , 12, 65, 72, 75, 31, 80, 72, 75, 68, 65
- , 67, 7, 34, 36, 39, 49, 64, 69, 71, 72
- , 73, 74, 75, 76, 77, 78, 79, 83, 86, 87
- , 89, 30, 47, 70, 81, 82, 90, 91, 72, 43
- , 61, 65, 67, 68, 71, 74, 76, 3, 35, 36
- , 37, 66, 21, 85, 2, 10, 12, 14, 25, 28
- , 51, 65, 4, 15, 19, 21, 24, 29, 33, 37
- , 39, 43, 46, 53, 62, 67, 68, 92, 39, 19
- , 21, 43, 35, 52, 65, 66, 67, 71, 3, 36
- , 37, 68, 74, 76, 33, 21, 80, 77, 80, 72
- , 75, 3, 35, 37, 76, 36, 65, 66, 67, 68
- , 71, 74, 94, 44, 47, 71, 5, 8, 16, 17
- , 32, 80, 80, 35, 36, 66, 68, 71, 76, 3
- , 37, 65, 67, 74, 43, 48, 65, 35, 36, 37
- , 65, 66, 67, 71, 74, 3, 68, 76, 80, 43
- , 43, 65, 79, 80, 65, 68, 16, 17, 32, 5
- , 8, 35, 44, 47, 48, 71, 80, 68, 71, 3
- , 35, 36, 37, 65, 66, 67, 74, 76, 70, 71
- , 77, 71, 80, 72, 21, 3, 37, 66, 71, 35
- , 36, 40, 65, 67, 68, 74, 76, 58, 29, 43
- , 4, 15, 57, 57, 4, 15, 43, 61, 53, 3
- , 36, 37, 66, 67, 68, 71, 35, 65, 74, 76
- , 65, 33, 84, 85, 38, 65, 67, 68, 80, 47
- , 72, 31, 65, 43, 61, 12, 21, 65, 43, 44
- , 80, 65, 65, 85, 21, 61, 80, 21, 15, 43
- , 80, 80, 65, 65, 40, 65, 47, 70, 71, 77
- , 80, 71, 80, 72, 88, 80, 80, 84, 85, 12
- , 53, 21, 80, 94, 65, 61, 43, 80, 72, 80
- , 80, 53, 3, 36, 37, 65, 67, 68, 71, 74
- , 76, 35, 40, 66, 80, 72, 80, 85, 61, 21
- , 37, 84, 85, 12, 37, 80) ;
- --| Action_Token_Map is an array that
- --| maps from each state (using action index map) to a set of
- --| action tokens. An action token is a terminal symbol
- --| (except EOF_Token) for which in the given state an
- --| explicit (non-default) shift or reduce action
- --| is defined.
- --| Used to cut reduce the
- --| number of primary recovery candidates.
-
- ------------------------------------------------------------------
- -- Shift_State_Map
- ------------------------------------------------------------------
-
- type Shift_State_Index_Array is array(
- PositiveParserInteger range <>) of GC.ParserInteger;
- --| For indexing the All Action Token Array.
- --| Maps a given state into the lower and upper bounds of a slice
- --| of the All Action Index Array.
-
- Shift_State_MapIndex : constant Shift_State_Index_Array :=
- ( 1, 1, 2, 2, 3, 3, 4, 4, 5, 5
- , 6, 6, 7, 9, 10, 11, 12, 14, 15, 15
- , 16, 19, 20, 23, 24, 24, 25, 25, 26, 26
- , 27, 29, 30, 32, 33, 33, 34, 37, 38, 38
- , 39, 57, 58, 58, 59, 60, 61, 61, 62, 63
- , 64, 65, 66, 66, 67, 67, 68, 69, 70, 73
- , 74, 94, 95, 97, 98, 101, 102, 103, 104, 108
- , 109, 110, 111, 113, 114, 115, 116, 120, 121, 124
- , 125, 126, 127, 132, 133, 134, 135, 141, 142, 142
- , 143, 143, 144, 148, 149, 153, 154, 154, 155, 158
- , 159, 161, 162, 162, 163, 166, 167, 170, 171, 171
- , 172, 174, 175, 175, 176, 179, 180, 182, 183, 185
- , 186, 191, 192, 192, 193, 194, 195, 196, 197, 230
- , 231, 231, 232, 236, 237, 239, 240, 240, 241, 244
- , 245, 267, 268, 292, 293, 293, 294, 295, 296, 308
- , 309, 310, 311, 312, 313, 313, 314, 319, 320, 395
- , 396, 396, 397, 397, 398, 398, 399, 401, 402, 411
- , 412, 415, 416, 416, 417, 419, 420, 420, 421, 421
- , 422, 422, 423, 423, 424, 424, 425, 430, 431, 430
- , 431, 430, 431, 430, 431, 431, 432, 433, 434, 438
- , 439, 442, 443, 443, 444, 444, 445, 445, 446, 446
- , 447, 447, 448, 450, 451, 453, 454, 455, 456, 458
- , 459, 459, 460, 462, 463, 463, 464, 464, 465, 469
- , 470, 477, 478, 485, 486, 488, 489, 504, 505, 505
- , 506, 506, 507, 507, 508, 508, 509, 511, 512, 513
- , 514, 516, 517, 518, 519, 519, 520, 520, 521, 521
- , 522, 522, 523, 524, 525, 525, 526, 527, 528, 528
- , 529, 529, 530, 537, 538, 538, 539, 539, 540, 546
- , 547, 548, 549, 550, 551, 568, 569, 570, 571, 571
- , 572, 572, 573, 573, 574, 575, 576, 576, 577, 577
- , 578, 579, 580, 580, 581, 581, 582, 596, 597, 601
- , 602, 602, 603, 604, 605, 607, 608, 622, 623, 623
- , 624, 624, 625, 625, 626, 626, 627, 627, 628, 629
- , 630, 630, 631, 634, 635, 637, 638, 640, 641, 642
- , 643, 644, 645, 645, 646, 646, 647, 648, 649, 651
- , 652, 652, 653, 654, 655, 655, 656, 657, 658, 659
- , 660, 660, 661, 661, 662, 662, 663, 664, 665, 665
- , 666, 666, 667, 667, 668, 672, 673, 673, 674, 677
- , 678, 681, 682, 684, 685, 687, 688, 688, 689, 691
- , 692, 693, 694, 704, 705, 705, 706, 706, 707, 707
- , 708, 708, 709, 709, 710, 710, 711, 711, 712, 712
- , 713, 713, 714, 716, 717, 719, 720, 720, 721, 722
- , 723, 723, 724, 726, 727, 727, 728, 728, 729, 729
- , 730, 730, 731, 731, 732, 732, 733, 733, 734, 747
- , 748, 755, 756, 757, 758, 758, 759, 770, 771, 772
- , 773, 774, 775, 775, 776, 776, 777, 777, 778, 778
- , 779, 779, 780, 780, 781, 782, 783, 783, 784, 784
- , 785, 785, 786, 787, 788, 788, 789, 789, 790, 790
- , 791, 791, 792, 793, 794, 794, 795, 796, 797, 797
- , 798, 798, 799, 800, 801, 806, 807, 808, 809, 810
- , 811, 811, 812, 812, 813, 824, 825, 825, 826, 827
- , 828, 831, 832, 832, 833, 833, 834, 834, 835, 835
- , 836, 836, 837, 837, 838, 844, 845, 845, 846, 852
- , 853, 858, 859, 860, 861, 861, 862, 863, 864, 864
- , 865, 865, 866, 866, 867, 868, 869, 871, 872, 872
- , 873, 873, 874, 874, 875, 875, 876, 877, 878, 879
- , 880, 881, 882, 882, 883, 883, 884, 884, 885, 885
- , 886, 886, 887, 887, 888, 888, 889, 890, 891, 891
- , 892, 893, 894, 894, 895, 896, 897, 897, 898, 900
- , 901, 901, 902, 902, 903, 903, 904, 905, 906, 906
- , 907, 907, 908, 908, 909, 909, 910, 910, 911, 911
- , 912, 913, 914, 914, 915, 916, 917, 917, 918, 918
- , 919, 919, 920, 920, 921, 922, 923, 923, 924, 927
- , 928, 930, 931, 931, 932, 932, 933, 934, 935, 935
- , 936, 936, 937, 937, 938, 938, 939, 939, 940, 941
- , 942, 942, 943, 943, 944, 944, 945, 946, 947, 947
- , 948, 948, 949, 949) ;
-
- Shift_State_Map : constant Shift_State_Array :=
- ( 1, 418, 35, 419, 481, 257, 136, 139, 142, 399
- , 482, 519, 640, 800, 214, 77, 300, 303, 509, 420
- , 810, 922, 947, 400, 607, 421, 249, 483, 533, 250
- , 484, 534, 761, 268, 275, 765, 833, 766, 220, 369
- , 462, 634, 715, 732, 740, 745, 781, 802, 803, 830
- , 837, 841, 869, 899, 903, 924, 943, 649, 401, 463
- , 422, 174, 603, 14, 94, 15, 423, 424, 874, 117
- , 243, 366, 780, 83, 159, 168, 290, 314, 324, 361
- , 363, 389, 393, 394, 506, 510, 524, 529, 530, 682
- , 726, 793, 817, 891, 485, 535, 863, 604, 708, 840
- , 881, 148, 731, 36, 171, 279, 291, 536, 37, 118
- , 38, 425, 657, 672, 884, 137, 140, 143, 776, 834
- , 106, 785, 870, 936, 477, 500, 16, 95, 175, 370
- , 376, 405, 2, 172, 371, 486, 537, 625, 654, 864
- , 893, 17, 426, 129, 251, 487, 791, 911, 520, 538
- , 799, 809, 852, 149, 315, 388, 562, 566, 160, 427
- , 619, 838, 428, 878, 923, 934, 18, 415, 645, 647
- , 176, 177, 372, 377, 690, 265, 274, 687, 873, 162
- , 178, 304, 179, 384, 386, 580, 685, 691, 711, 826
- , 927, 605, 33, 163, 138, 141, 9, 39, 73, 78
- , 80, 98, 101, 107, 164, 167, 217, 221, 252, 258
- , 284, 297, 305, 331, 332, 350, 387, 391, 429, 465
- , 499, 511, 577, 594, 635, 660, 705, 739, 758, 857
- , 40, 41, 74, 218, 259, 512, 42, 260, 661, 144
- , 130, 228, 385, 595, 12, 43, 82, 131, 161, 169
- , 227, 362, 380, 382, 395, 475, 488, 503, 521, 539
- , 557, 567, 622, 680, 804, 867, 913, 116, 233, 238
- , 294, 348, 466, 479, 508, 638, 720, 722, 727, 748
- , 755, 789, 795, 815, 820, 823, 845, 868, 889, 914
- , 930, 940, 150, 44, 145, 134, 234, 239, 264, 325
- , 344, 365, 555, 728, 756, 816, 821, 846, 45, 146
- , 132, 229, 151, 288, 310, 357, 593, 629, 858, 13
- , 84, 90, 93, 242, 309, 316, 318, 321, 323, 326
- , 381, 383, 396, 464, 476, 480, 498, 504, 528, 554
- , 556, 563, 573, 574, 575, 586, 587, 589, 596, 610
- , 611, 612, 628, 632, 646, 656, 683, 688, 689, 723
- , 730, 736, 737, 743, 744, 752, 753, 754, 757, 762
- , 769, 778, 783, 796, 818, 842, 844, 849, 850, 856
- , 861, 865, 887, 894, 902, 905, 906, 912, 917, 919
- , 925, 932, 933, 939, 949, 119, 120, 121, 230, 339
- , 882, 231, 232, 340, 637, 832, 883, 897, 921, 941
- , 946, 122, 235, 346, 347, 153, 501, 559, 597, 123
- , 124, 125, 430, 701, 496, 623, 624, 626, 627, 847
- , 3, 10, 296, 46, 256, 328, 518, 678, 173, 431
- , 712, 928, 180, 181, 182, 183, 184, 19, 185, 406
- , 20, 186, 407, 187, 408, 21, 188, 409, 189, 22
- , 190, 410, 191, 192, 165, 193, 282, 494, 811, 402
- , 526, 560, 621, 655, 751, 892, 910, 502, 564, 565
- , 618, 674, 675, 792, 916, 403, 489, 561, 47, 108
- , 333, 334, 335, 341, 470, 513, 578, 583, 590, 631
- , 644, 673, 703, 759, 287, 194, 195, 196, 285, 302
- , 307, 397, 819, 495, 553, 794, 630, 667, 540, 541
- , 542, 543, 490, 544, 545, 491, 546, 547, 390, 102
- , 280, 367, 404, 478, 527, 717, 721, 568, 103, 133
- , 236, 548, 569, 664, 749, 888, 549, 570, 550, 571
- , 48, 109, 244, 245, 247, 248, 266, 338, 468, 473
- , 474, 523, 579, 639, 652, 653, 798, 851, 662, 862
- , 747, 663, 551, 665, 666, 552, 492, 718, 885, 790
- , 558, 49, 110, 156, 298, 416, 432, 497, 576, 669
- , 677, 692, 719, 733, 822, 886, 670, 839, 854, 866
- , 879, 750, 246, 671, 658, 945, 948, 85, 99, 311
- , 313, 327, 531, 572, 641, 659, 742, 801, 807, 808
- , 859, 860, 746, 812, 813, 814, 915, 929, 944, 938
- , 111, 469, 871, 937, 237, 898, 942, 86, 292, 507
- , 87, 91, 197, 411, 312, 198, 199, 741, 200, 226
- , 412, 413, 201, 378, 202, 23, 203, 24, 204, 205
- , 50, 51, 52, 299, 261, 253, 112, 53, 254, 329
- , 522, 702, 113, 240, 345, 615, 616, 114, 336, 342
- , 472, 241, 467, 471, 115, 337, 343, 54, 55, 262
- , 351, 135, 349, 56, 267, 269, 270, 271, 272, 273
- , 352, 353, 354, 355, 57, 58, 59, 60, 61, 126
- , 127, 62, 63, 64, 158, 276, 65, 157, 278, 154
- , 66, 277, 67, 68, 255, 330, 69, 70, 128, 147
- , 71, 152, 155, 104, 170, 281, 295, 308, 356, 368
- , 525, 581, 582, 588, 668, 676, 786, 319, 591, 598
- , 771, 779, 831, 835, 877, 433, 704, 599, 320, 706
- , 768, 772, 782, 825, 828, 876, 901, 909, 920, 931
- , 434, 600, 435, 601, 436, 437, 438, 439, 440, 441
- , 442, 693, 443, 444, 445, 446, 694, 447, 448, 449
- , 450, 451, 695, 452, 453, 602, 584, 686, 767, 777
- , 585, 684, 707, 764, 770, 829, 613, 763, 827, 900
- , 872, 454, 222, 322, 417, 505, 709, 725, 784, 806
- , 853, 880, 896, 907, 606, 215, 608, 88, 92, 317
- , 710, 216, 614, 455, 609, 456, 457, 25, 96, 206
- , 286, 373, 379, 414, 81, 283, 293, 620, 760, 855
- , 895, 926, 360, 375, 824, 890, 918, 935, 75, 223
- , 358, 289, 359, 26, 89, 219, 27, 97, 79, 224
- , 301, 374, 28, 398, 207, 306, 392, 532, 648, 650
- , 738, 208, 805, 651, 681, 458, 459, 460, 592, 836
- , 700, 696, 875, 697, 698, 904, 699, 773, 774, 775
- , 679, 4, 5, 6, 11, 7, 29, 30, 8, 225
- , 34, 787, 908, 843, 713, 788, 31, 32, 76, 166
- , 493, 848, 364, 514, 617, 633, 797, 636, 716, 724
- , 515, 516, 517, 729, 209, 210, 211, 212, 213, 642
- , 735, 643, 734, 461, 72, 263, 105, 714, 100) ;
- --| Shift_State_ is an array that
- --| maps from non-terminals (using shift index map) to sets
- --| of states in which
- --| a shift to the non-terminal is defined.
- --| Used to determine the number of trials in primary
- --| error recovery.
-
- ------------------------------------------------------------------
- -- Subprogram Bodies Global to Package ErrorParseTables
- ------------------------------------------------------------------
-
- function Get_Action_Token_Map ( --| return the array of action tokens
- --| for the state passed in.
- In_Index : in StateRange
- --| the state to return action tokens
- --| for.
- )
- return Action_Token_Record
- is
- --| Returns
- --| This subprogram returns the action token record for the
- --| state passed in.
- Result : Action_Token_Record ;
- LowerBound, UpperBound : GC.ParserInteger ;
- --| Lower and upper bounds of the slice of Action Token Map
- begin
- LowerBound := Action_Token_MapIndex ( In_Index*2 - 1 ) ;
- UpperBound := Action_Token_MapIndex ( In_Index*2 ) ;
-
- Result.set_size := UpperBound - LowerBound + 1;
- Result.set := (others => DefaultValue) ;
- Result.set(Result.set'first .. Result.set_size) :=
- Action_Token_Map(LowerBound..UpperBound) ;
-
- return Result ;
- end Get_Action_Token_Map ;
-
- ------------------------------------------------------------------
-
- function Get_Shift_State_Map ( --| return the array of shift states
- --| for the grammar symbol passed in.
- In_Index : in GrammarSymbolRange
- --| the grammar symbol to return shifts
- --| for.
- )
- --| Raises: This subprogram raises no exceptions.
- return Shift_State_Record
- --| Returns
- --| This subprogram returns the array of shift states for the
- --| grammar symbol passed in.
- is
-
- Result : Shift_State_Record ;
- LowerBound, UpperBound : GC.ParserInteger ;
- --| Lower and upper bounds of the slice of Shift State Map
- begin
- LowerBound := Shift_State_MapIndex ( In_Index*2 - 1 ) ;
- UpperBound := Shift_State_MapIndex ( In_Index*2 ) ;
-
- Result.set_size := UpperBound - LowerBound + 1;
- Result.set := (others => DefaultValue) ;
- Result.set(Result.set'first .. Result.set_size) :=
- Shift_State_Map(LowerBound..UpperBound) ;
-
- return Result ;
- end Get_Shift_State_Map ;
-
- function Get_Grammar_Symbol ( --| return the string representation
- --| of the grammar symbol
- In_Index : in GrammarSymbolRange
- )
- return string
- is
- LowerBound, UpperBound : GC.ParserInteger ;
- --| Lower and upper bounds of the slice of Shift State Map
- begin
- LowerBound := GrammarSymbolTableIndex ( In_Index*2 - 1 ) ;
- UpperBound := GrammarSymbolTableIndex ( In_Index*2 ) ;
-
- return GrammarSymbolTable(
- Integer(LowerBound) .. Integer(UpperBound)) ;
- end Get_Grammar_Symbol ;
-
- ------------------------------------------------------------------
-
- function Get_Follow_Map ( --| return the array of follow symbols
- --| of the grammar symbol passed in
- In_Index : in FollowMapRange
- )
- -- |
- -- |Raises: This subprogram raises no exceptions.
- -- |
-
- return FollowSymbolRecord
- is
- Result : FollowSymbolRecord ;
- LowerBound, UpperBound : GC.ParserInteger ;
- Adjusted_Index : GC.ParserInteger :=
- (In_Index - FollowMapRange'first) + 1;
- begin
- LowerBound := FollowSymbolMapIndex ( Adjusted_Index*2 - 1 ) ;
- UpperBound := FollowSymbolMapIndex ( Adjusted_Index*2 ) ;
-
- Result.follow_symbol_count := UpperBound - LowerBound + 1;
- Result.follow_symbol := (others => DefaultValue) ;
- Result.follow_symbol(
- Result.follow_symbol'first ..
- Result.follow_symbol_count) :=
- FollowSymbolMap(LowerBound..UpperBound) ;
-
- return Result ;
- end Get_Follow_Map ;
-
- ------------------------------------------------------------------
-
- function GetAction ( -- see subprogram declaration
- InStateValue : in StateRange;
- InSymbolValue : in GrammarSymbolRange
- )
- return ActionRange
- is
-
- Unique : GC.ParserInteger;
- --| unique value to hash for Index.
- Index : GC.ParserInteger;
- --| index into Action Tables.
- Action : GC.ParserInteger;
- --| value from Action Tables.
- CollisionCount : Natural := 0 ; --| Number of collisions.
- begin -- GetAction function
- --| Algorithm
- --|-
- --| Definitions of key objects from package ParseTables:
- --|
- --| ActionCount: the number of actions in the action tables.
- --|
- --| ActionTableOne: table of action values for all combinations of
- --| states and input actions.
- --|
- --| ActionTableTwo: hash values to check against to verify that action
- --| value at same index in ActionTableOne is correct one.
- --|
- --| ActionTableSize: last index in ActionTableOne and ActionTableTwo
- --| before the hash collision chains.
- --|
- --| DefaultMap: default action for each state.
- --|+
- --| The action to be returned is computed from parameters InStateValue
- --| and InSymbolValue. First, determine the unique single value:
- --|
- --| Unique := (InStateValue * GrammarSymbolCountPlusOne) +
- --| InSymbolValue;
- --|
- --| Unique is hashed by reducing modulo ActionTableSize and adding 1:
- --|
- --| Index := (Unique mod ActionTableSize) + 1;
- --|
- --| This hash value, Index, is used to index ActionTableOne to
- --| obtain an Action:
- --|
- --| Action := ActionTableOne(Index);
- --|
- --| Action is then used to determine the return value:
- --|
- --| Action = 0:
- --| return DefaultMap(InStateValue);
- --|
- --| Action < ActionCount:
- --| if (Unique = ActionTableTwo(Index)) then
- --| return Action;
- --| else
- --| return DefaultMap(InStateValue);
- --| end if;
- --|
- --| Action >= ActionCount:
- --| --Search the hash collision chain
- --| Index := Action - ActionCount;
- --| while (Action /= 0) loop
- --| Index := Index + 1;
- --| Action := ActionTableTwo(Index);
- --| if (Action = Unique) then
- --| return ActionTableOne(Index);
- --| end if;
- --| end loop;
- --| return DefaultMap(InStateValue);
-
- ------------------------------------------------------------------
-
- --| The actual code used folds this algorithm into a more efficient one:
- ParserDecisionCount := Natural'succ(ParserDecisionCount) ;
-
- Unique := (InStateValue * GrammarSymbolCountPlusOne) +
- InSymbolValue;
- Index := (Unique mod ActionTableSize) + 1;
- Action := ActionTableOne(Index);
-
- if (Action >= ActionCount) then
- Index := Action - ActionCount + 1;
- while ( (ActionTableTwo(Index) /= Unique) and then
- (ActionTableTwo(Index) /= 0) ) loop
- Index := Index + 1;
- CollisionCount := Natural'succ(CollisionCount) ;
- end loop;
- Action := ActionTableOne(Index);
- end if;
-
- -- Collect statistics information.
- TotalCollisions := CollisionCount + TotalCollisions ;
- if CollisionCount > MaxCollisions then
- MaxCollisions := CollisionCount ;
- end if;
-
- if (ActionTableTwo(Index) /= Unique) then
- return DefaultMap(InStateValue);
- else
- return Action;
- end if;
-
- end GetAction; -- function
-
- function Get_LeftHandSide(
- GrammarRule : LeftHandSideRange
- ) return GrammarSymbolRange is
- begin
- return LeftHandSide(GrammarRule) ;
- end Get_LeftHandSide ;
-
- function Get_RightHandSide(
- GrammarRule : RightHandSideRange
- ) return GC.ParserInteger is
- begin
- return RightHandSide(GrammarRule) ;
- end Get_RightHandSide ;
-
- end ParseTables;
-
- ----------------------------------------------------------------------
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --SCUTILS.SPC
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- with Text_IO;
- With Paginated_Output;
- with Stack_Pkg;
- with String_Pkg;
- with ParserDeclarations;
-
- package Standards_Checker_Utilities is
-
- --| Overview:
- --| This package provides the utilities which may be called direclty
- --| from the parser.
-
- package SP renames String_Pkg;
-
- type ON_OFF is (ON, OFF);
-
- type Subprogram_Stack_Element_Type is
- record
- unit_name : SP.string_type;
- stmt_count : natural := 0;
- visible : ON_OFF := ON;
- pkg : ON_OFF := OFF;
- bdy : ON_OFF := OFF;
- end record;
-
- package ST is new Stack_Pkg (Subprogram_Stack_Element_Type);
-
- package TIO renames Text_IO;
-
- package PO renames Paginated_Output;
-
- package PD renames ParserDeclarations;
-
- type Violation_Type is -- enumeration of standards violations
- ( -- 3.1
- Subprogram_Nesting_Violation,
- Statement_Limit_Violation,
- Nonscalar_Type_Violation,
- -- 3.2
- Goto_Violation,
- Exit_If_Violation,
- Boolean_Comparison_Violation,
- -- 3.3
- Parameter_Limit_Violation,
- -- 3.4
- Builtin_Type_Violation,
- Pragma_Violation,
- Rep_Spec_Violation,
- Code_Statement_Violation,
- -- 3.5
- Range_Constraint_Violation,
- Named_Number_Violation,
- -- 3.6
- Type_Name_Violation,
- Package_Name_Violation,
- Procedure_Name_Violation,
- Function_Name_Violation );
-
- type decl_name is ( enumeration_type,
- integer_type,
- real_type,
- array_type,
- record_type,
- access_type,
- derived_type,
- subtype_type,
- procedure_type,
- function_type,
- package_type,
- task_type);
-
- type Print_Mode_Type is (VIOLATION, SOURCE);
-
- type Report_Mode_Type is (EVERY, FIRST);
-
- -- * -- * -- * -- * -- * -- * -- * -- * -- * -- * -- * -- * -- * -- * -- * --
-
- Subprogram_Stack : ST.stack := ST.create;
-
- Subprogram_Record : Subprogram_Stack_Element_Type;
-
- Input_File : TIO.FILE_TYPE;
-
- Source_File : TIO.FILE_TYPE;
-
- Print_Mode : Print_Mode_Type;
-
- Report_Mode : Report_Mode_Type;
-
- Previous_Token : PD.ParseStackElement;
-
- Param_Count : natural;
-
- Violation_Noted : boolean := false;
-
-
- procedure Enter_Subprogram;
-
- --| Called when we enter a new subprogram, this proceure
- --| pushes the newly-entered subprogram onto the subprogram
- --| stack.
-
- procedure Exit_Subprogram;
-
- procedure Note_Violation(
- Violation_Name : in Violation_Type;
- What_Where : in PD.token := Previous_Token.lexed_token
- );
-
- --| Notes the occurance of the (possible) coding standards
- --| violation Violation on line Line_Number.
-
- procedure Increment_Statement_Count ;
-
- --| Called when an Ada source statment has been recognized,
- --| this procedure increments the statement count for the
- --| current procedure.
-
- procedure Save_Unit_Name ;
-
- procedure Save_Type_Name ;
-
- procedure Save_Builtin_Name ;
-
- procedure Set_Decl_Name (Name : in Decl_Name );
-
- --| Sets the type of decl for which the names need to
- --| be checked.
-
- procedure Check_Names (
- Violation : in Violation_Type
- );
-
- procedure Increment_Parameter_Count;
-
- --| Increments the number of parameters in a spec and Notes a
- --| violation if there are more than the Max_Number_of_Parameters.
-
- procedure Check_Pragmas ;
-
- --| Checks that a pragma is in the set of acceptable ones.
-
- procedure Check_Builtin_Types;
-
- --| checks that objects are not declared of builtin types as that makes
- --| the code non-portable. Defining subtypes is a better idea.
-
- procedure Set_Visibility (Switch : in ON_OFF);
-
- procedure Set_Range_Constraint (Switch : in ON_OFF);
-
- procedure Check_Range_Constraint ;
-
- procedure Check_Parameters ;
-
- procedure Set_Body_Indicator (Switch : in ON_OFF);
-
- procedure Set_Package_Indicator (Switch : in ON_OFF);
-
- procedure Write_Message (Message : in out SP.string_type);
-
- procedure Check_Boolean ;
-
- end Standards_Checker_Utilities;
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --SCDECLS.DAT
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- with String_Pkg;
- with Standards_Checker_Utilities; use Standards_Checker_Utilities;
-
- package Standards_Checker_Declarations is
-
- package SP renames String_Pkg;
-
- --| declarations for the Standards Checker.
-
- --| Overview:
- --| This package contains declarations for the Standards Checker
- --| which serve to parameterize it.
-
- -- The following array, Standards_To_Check, is the object which controls
- -- which violations will be checked. All the possible violations are
- -- included the name of the violation is the comment to the right of
- -- its value. If a violation is to be checked then its value should be
- -- ON, and it should be OFF if it is not to be checked.
-
- -- For some checks like Goto_Violation this is the only kind of control:
- -- whether it is checked for or not. In other cases like Subprogram_Nesting
- -- it is also parameterized by the maximum allowed nesting level. These
- -- other parameters are what makes up the rest of this package.
-
- Standards_To_Check : array (Violation_Type)
- of ON_OFF :=
- ( -- 3.1
- ON, -- Subprogram_Nesting_Violation
- ON, -- Statement_Limit_Violation
- ON, -- Nonscalar_Type_Violation
- -- 3.2
- ON, -- Goto_Violation
- ON, -- Exit_If_Violation
- ON, -- Boolean_Comparison_Violation
- -- 3.3
- ON, -- Parameter_Limit_Violation
- -- 3.4
- ON, -- Builtin_Type_Violation
- ON, -- Pragma_Violation
- ON, -- Rep_Spec_Violation
- ON, -- Code_Statement_Violation
- -- 3.5
- ON, -- Range_Constraint_Violation
- ON, -- Named_Number_Violation
- -- 3.6
- ON, -- Type_Name_Violation
- ON, -- Package_Name_Violation
- ON, -- Procedure_Name_Violation
- ON -- Function_Name_Violation
- );
-
- -- the following is not a violation check but an option on the output format.
- -- Violation warnings will be split in order to not exceed this number of
- -- characters on an output line. So for a 8.5 x 11 output it should be set
- -- to 80, but for 132 column computer paper it can be wider.
-
- Max_Characters_Per_Output_Line : integer := 132;
-
- -- Number of statements in a subprogram not to be exceeded. If this number
- -- is exceeded a warning will be put out at the next line, but not on
- -- lines after that.
-
- Max_Statements_Per_Subprogram : integer := 100;
-
- -- Maximum number of parameters a subprogram should have. There can only
- -- be one of these warnings per subprogram
-
- Max_Parameters_Per_Subprogram : integer := 4;
-
- -- Maximum level of nesting for subprograms with no nesting at all having
- -- a maximum of 1 (i.e. the subprogram itself with no nested subprograms).
-
- Max_Nesting_for_Subprograms : integer := 1;
-
- -- Names of allowed pragmas, all others will produce a warning.
- -- Pragmas_last is the number of allowed pragmas there are and it
- -- is used to constrain the array. If more pragmas are to be allowed
- -- this variable must be changed before the array is changed.
-
- Pragmas_Last : constant integer := 3;
-
- subtype Pragma_Range is integer range 1 .. Pragmas_Last;
-
- -- Allowed_pragmas is the array of allowed pragmas. To add another
- -- pragma (after changing Pragmas_Last) add another element to the
- -- array like SP.create ("<name of the pragma>"). The name of the
- -- pragma should be uppercase since the name being compared to it will
- -- be uppercased before comparison.
-
- Allowed_Pragmas : array (Pragma_Range)
- of SP.String_Type := (SP.create ("PAGE"),
- SP.create ("ELABORATE"),
- SP.create ("INLINE"));
-
-
- -- Builtin types which should not be explicitly used in object declarations.
- -- Builtins_Last is the maximum number of builtin types. If more are
- -- defined then Builtins_Last must be incremented appropriately.
-
- Builtins_Last : constant integer := 25;
-
- subtype Builtin_Range is integer range 1.. Builtins_Last;
-
- -- Builtin types are going to differ from machine to machine so these
- -- names can be changed. To add another simply add another element to
- -- the array like: SP.create ("<name of the built-in type>"),
- -- The name should be all uppercase for the same reason as above.
-
- Builtin_Types : array (Builtin_Range)
- of SP.String_Type := (SP.create ("INTEGER"),
- SP.create ("SHORT_INTEGER"),
- SP.create ("SHORT_SHORT_INTEGER"),
- SP.create ("FLOAT"),
- SP.create ("LONG_FLOAT"),
- SP.create ("LONG_LONG_FLOAT"),
- SP.create ("DURATION"),
- SP.create ("NAME"),
- SP.create ("PRIORITY"),
- SP.create ("ADDRESS"),
- SP.create ("TYPE_CLASS"),
- SP.create ("D_FLOAT"),
- SP.create ("F_FLOAT"),
- SP.create ("G_FLOAT"),
- SP.create ("H_FLOAT"),
- SP.create ("AST_HANDLER"),
- SP.create ("BIT_ARRAY"),
- SP.create ("UNSIGNED_BYTE"),
- SP.create ("UNSIGNED_BYTE_ARRAY"),
- SP.create ("UNSIGNED_WORD"),
- SP.create ("UNSIGNED_WORD_ARRAY"),
- SP.create ("UNSIGNED_LONGWORD"),
- SP.create ("UNSIGNED_LONGWORD_ARRAY"),
- SP.create ("UNSIGNED_QUADWORD"),
- SP.create ("UNSIGNED_QUADWORD_ARRAY"));
-
- -- Numbers_Last is the number of exempt numbers from the named literal
- -- check.
- Numbers_Last : constant integer := 3;
-
- subtype Numbers_Range is integer range 1 .. Numbers_Last;
-
- -- Allowed_Numbers is the array of exempt numbers to check against. They
- -- are integers, Allowed_Floats is the array of exempt floating point
- -- numbers. When checking a numeric literal it first checks it against
- -- the integers, but if it is not an integer it is checked against the
- -- strings in Allowed_Float.
- Allowed_Numbers : array (Numbers_Range)
- of integer := (0,
- 1,
- 2);
-
- -- Float_Last is the number of exempt floating point numbers.
- Float_Last : constant integer := 3;
-
- subtype Float_Range is integer range 1..Float_Last ;
-
- -- Allowed_Floats is the array of exempt real numbers to check against.
- -- The numbers to compare against are strings and numbers cannot therefore
- -- be checked for the value being equal. So "0.0" is not the same as "0.00"
- -- etc. The number will be allowed only if the strings exactly match.
- Allowed_Floats : array (Float_Range)
- of SP.string_type := (SP.create ("0.0"),
- SP.create ("1.0"),
- SP.create ("2.0"));
-
- -- The rest of the structures are for checking prefixes and suffixes.
- -- At the end there is the Name_Table which is a table indexed by Decl_Name.
- -- Decl_Name is an enumeration of all the different types of declaration
- -- that we wish to check the prefixes and suffixes of. For each Decl_Name
- -- there is a two dimensional array which contains the prefixes and suffixes
- -- for that type. It is the same to modify all of these arrays so a
- -- description will only be given for one.
-
- Names_First : constant integer := 1;
-
- -- Names_Last is the maximum number of prefixes or suffixes that any of
- -- the delcaration types have. So for instance enumeration types only
- -- have three prefixes or suffixes, but procedures have 17, Names_Last
- -- must be as big as the largest one.
- Names_Last : constant integer := 20;
-
- Name_Prefix : constant integer := 1;
-
- Name_Suffix : constant integer := 2;
-
- -- this is the type of array all the prefixes and suffixes are stored in.
- type String_Array is array (Names_First .. Names_Last,
- Name_Prefix .. Name_Suffix)
- of SP.string_type;
-
- -- if the array associated with a type is empty it is assumed that any
- -- prefix or suffix is allowed.
- Empty_Array : String_Array := (others => (others => SP.create ("")));
-
-
- -- The arrays are two dimensional so that prefixes and suffixes can be
- -- specified together.
- -- For example if the first element was foo and the second was the empty
- -- string then the check would check for the prefix foo and anything
- -- would be ok for the suffix.
- -- Similarly for a first element which is blank and a second which is 'bar'
- -- any prefix would match, but the suffix would be checked against bar.
- -- If, however, the prefix is 'foo' and the suffix is 'bar' it will not
- -- be a match unless both prefix and suffix are matched.
-
- -- So to add a new prefix to the array one would add a new element:
- -- (SP.create ("<new prefix>"), SP.create ("")),
- -- to add a new suffix:
- -- (SP.create (""), SP.create ("<new suffix>")),
- -- to add both:
- -- (SP.create ("<new prefix>"), SP.create ("<new suffix>")),
-
- -- Unless the array has the maximum number of prefixes or suffixes
- -- fill in the rest of the array with null strings. The program
- -- stops when it sees null strings any other junk could cause erroneous
- -- warning messages.
-
- Enumeration_Array : String_Array :=
- -- Allowable Enumeration Types
- ((SP.create (""), SP.create ("NAME")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")), -- the compiler we're using has a
- -- bug which requires we add this
- -- line. It may later be taken out
- others => (others => SP.create ("")));
-
- Integer_Array : String_Array :=
- -- Allowable Integer Types
- ((SP.create (""), SP.create ("NUMBER")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (others => SP.create ("")));
-
- Real_Array : String_Array :=
- -- Allowable Real Types
- ((SP.create (""), SP.create ("NUMBER")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Array_Array : String_Array :=
- -- Allowable Array Types
- ((SP.create (""), SP.create ("ARRAY")),
- (SP.create (""), SP.create ("STRING")),
- (SP.create (""), SP.create ("NAME")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Record_Array : String_Array :=
- -- Allowable Record Types
- ((SP.create (""), SP.create ("RECORD")),
- (SP.create (""), SP.create ("DESCRIPTOR")),
- (SP.create (""), SP.create ("SPECIFIER")),
- (SP.create (""), SP.create ("NODE")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Access_Array : String_Array :=
- -- Allowable Access types
- ((SP.create (""), SP.create ("HANDLE")),
- (SP.create (""), SP.create ("PTR")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Derived_Array : String_Array :=
- -- Allowable Derived types
- ((SP.create (""), SP.create ("NUMBER")),
- (SP.create (""), SP.create ("NAME")),
- (SP.create (""), SP.create ("RANGE")),
- (SP.create (""), SP.create ("RECORD")),
- (SP.create (""), SP.create ("SPECIFIER")),
- (SP.create (""), SP.create ("DESCRIPTOR")),
- (SP.create (""), SP.create ("HANDLE")),
- (SP.create (""), SP.create ("ARRAY")),
- (SP.create (""), SP.create ("STRING")),
- (SP.create (""), SP.create ("NODE")),
- (SP.create (""), SP.create ("PTR")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Subtype_Array : String_Array :=
- -- Allowable Subtypes
- ((SP.create (""), SP.create ("RANGE")),
- (SP.create (""), SP.create ("TYPE")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Procedure_Array : String_Array :=
- -- Allowable Procedure Names
- ((SP.create ("ALLOCATE"), SP.create ("")),
- (SP.create ("FREE"), SP.create ("")),
- (SP.create ("GET"), SP.create ("")),
- (SP.create ("SET"), SP.create ("")),
- (SP.create ("OBTAIN"), SP.create ("")),
- (SP.create ("RELEASE"), SP.create ("HANDLE")),
- (SP.create ("WALKTO"), SP.create ("HANDLE")),
- (SP.create ("CREATE"), SP.create ("")),
- (SP.create ("DELETE"), SP.create ("")),
- (SP.create ("ADD"), SP.create ("")),
- (SP.create ("APPEND"), SP.create ("")),
- (SP.create ("INSERT"), SP.create ("")),
- (SP.create ("PREPEND"), SP.create ("")),
- (SP.create ("REMOVE"), SP.create ("")),
- (SP.create ("REPLACE"), SP.create ("")),
- (SP.create ("READ"), SP.create ("")),
- (SP.create ("WRITE"), SP.create ("")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- Function_Array : String_Array :=
- -- Allowable Function Names
- Empty_Array;
-
- Package_Array : String_Array :=
- -- Allowable Package Names
- Empty_Array;
-
- Task_Array : String_Array :=
- -- Allowable Task Names
- ((SP.create (""), SP.create ("TASK")),
- (SP.create (""), SP.create ("")),
- others => (SP.create (""), SP.create ("")));
-
- type Name_Array is array (Decl_Name) of String_Array;
-
- Name_Table : Name_Array :=
- (Enumeration_Array,
- Integer_Array,
- Real_Array,
- Array_Array,
- Record_Array,
- Access_Array,
- Derived_Array,
- Subtype_Array,
- Procedure_Array,
- Function_Array,
- Package_Array,
- Task_Array);
-
-
- end Standards_Checker_Declarations;
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --SCUTILS.BDY
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- with Standards_Checker_Declarations;
- with Host_Dependencies;
-
- package body Standards_Checker_Utilities is
-
- --| Overview:
- --| This package provides the utilities which
- --| may be called directy from the parser.
-
- --| Notes:
- --| Programmer: Christine Gosling
-
- ----- Package Renames:
-
- package SCD renames Standards_Checker_Declarations;
- package HD renames Host_Dependencies;
-
- ----- Local Variables/Constants:
-
- Decl_Index : Decl_Name;
- Unit_Name : PD.token;
- Type_Name : PD.token;
- Builtin_Name : PD.token;
- Pragma_Name : PD.token;
- Range_Record : PD.token;
- Range_Constraint : ON_OFF := OFF;
- Error_Header : constant string := "*** ";
- Boolean_True : constant SP.string_type := SP.create ("TRUE");
- Boolean_False : constant SP.string_type := SP.create ("FALSE");
-
- ----- Local Operations:
-
- function string_type_of (token : PD.token) return SP.string_type is
- begin
- return SP.create (PD.Get_Source_Text (token.text));
- end string_type_of;
-
-
- function string_of (token : PD.token) return string is
- begin
- return PD.Get_Source_Text (token.text);
- end string_of;
-
- function valid_float return boolean is
- n : SP.string_type;
- begin
- n := string_type_of(Previous_Token.lexed_token);
- for index in SCD.Allowed_Floats'range loop
- if SP.equal (n, SCD.Allowed_Floats(index)) then
- return true;
- end if;
- end loop;
- return false;
-
- end valid_float;
-
- function valid_number return boolean is
- n : integer;
- begin
- n := integer'value(string_of(Previous_Token.lexed_token));
- for index in SCD.Allowed_Numbers'range loop
- if n = SCD.Allowed_Numbers(index) then
- return true;
- end if;
- end loop;
- return false;
- exception
- when CONSTRAINT_ERROR =>
- return valid_float;
-
- end valid_number;
-
- function Valid_Prefix (
- Prefix : in SP.String_Type;
- Identifier : in SP.String_Type
- ) return BOOLEAN is
-
- --| Called when a type, subprogram, or package declaration has
- --| been found in a spec (ie. the visible part). This checks
- --| that the prefix is one of the acceptable ones for the type
- --| of declaration it is. The type of declaration is set by
- --| Set_Decl_Name and saved in the variable Decl_Index.
-
- len : INTEGER;
-
- begin
- len := SP.length (prefix);
- if len >= SP.length (identifier) then
- return false;
- else
- return SP.equal (prefix, SP.substr(identifier, 1, len));
- end if;
-
- end Valid_Prefix;
-
- function Valid_Suffix (
- Suffix : in SP.String_Type;
- Identifier : in SP.String_Type
- ) return BOOLEAN is
-
- --| Called when a type, subprogram, or package declaration has
- --| been found in a spec (ie. the visible part). This checks
- --| that the suffix is one of the acceptable ones for the type
- --| of declaration it is. The type of declaration is set by
- --| Set_Decl_Name and saved in the variable Decl_Index.
-
- len : INTEGER;
-
- begin
- len := SP.length (Suffix);
- if len >= SP.length (identifier) then
- return false;
- else
- return SP.equal (Suffix, SP.substr(identifier,
- (SP.length(identifier)-len)+1,
- len));
- end if;
-
- end Valid_Suffix;
-
- ----- Operations global to S_C_Utilities:
-
- procedure Enter_Subprogram is
-
- begin
-
- ST.Push(Subprogram_Stack,Subprogram_Record);
- Subprogram_Record.unit_name := String_Type_of(Unit_Name);
- Subprogram_Record.stmt_count := 0;
- Subprogram_Record.bdy := ON;
- if ST.Size(Subprogram_Stack) = SCD.Max_Nesting_for_Subprograms + 1 then
- Note_Violation(Subprogram_Nesting_Violation);
- end if;
- end Enter_Subprogram;
-
- procedure Exit_Subprogram is
-
- begin
-
- ST.Pop(Subprogram_Stack,Subprogram_Record);
-
- end Exit_Subprogram;
-
- procedure Note_Violation (
- Violation_Name : in Violation_Type;
- What_Where : in PD.token := Previous_Token.lexed_token
- ) is
-
- Message : SP.String_Type;
-
- begin
-
- if SCD.Standards_To_Check(Violation_Name) = OFF then
- return;
- end if;
- SP.Mark;
- Message := SP.Create("");
- case Violation_Name is
- when Subprogram_Nesting_Violation =>
- Message := SP."&"(Message,
- ("Maximum subprogram nesting value ("
- & integer'image(SCD.Max_Nesting_for_Subprograms)
- & ") exceeded"));
- when Statement_Limit_Violation =>
- Message := SP."&"(Message,
- ("Maximum statements per subprogram value ("
- & integer'image(SCD.Max_Statements_Per_Subprogram)
- & ") exceeded"));
- when Nonscalar_Type_Violation =>
- if Subprogram_Record.pkg = OFF or
- Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("Visible non-scalar declaration "
- & String_of(What_Where)));
- when Goto_Violation =>
- Message := SP."&"(Message, "GOTO violation");
- when Exit_If_Violation =>
- Message := SP."&"(Message, "Possible EXIT usage violation");
- when Boolean_Comparison_Violation =>
- Message := SP."&"(Message, "Boolean comparison violation");
- when Parameter_Limit_Violation =>
- if Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("Maximum parameters per subprogram value ("
- & integer'image(SCD.Max_Parameters_Per_Subprogram)
- & ") exceeded"));
- when Builtin_Type_Violation =>
- if Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("Use of built-in TYPE/SUBTYPE "
- & String_of(What_Where)));
- when Pragma_Violation =>
- Message := SP."&"(Message,
- ("Non portable PRAGMA "
- & String_of(What_Where)));
- when Rep_Spec_Violation =>
- Message := SP."&"(Message, "Non portable REPRESENTATION CLAUSE");
- when Code_Statement_Violation =>
- Message := SP."&" (Message, "Non portable CODE STATEMENT");
- when Range_Constraint_Violation =>
- Message := SP."&"(Message, "Use of explicit range expression");
- when Named_Number_Violation =>
- if Subprogram_Record.bdy = OFF or else
- Valid_Number then
- return;
- end if;
- Message := SP."&"(Message,
- ("Use of explicit numeric literal: " &
- string_of(Previous_Token.lexed_token)));
- when Type_Name_Violation =>
- if Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("TYPE name violation in type "
- & String_of(What_Where)));
- when Package_Name_Violation =>
- if Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("PACKAGE name violation in package "
- & String_of(What_Where)));
- when Procedure_Name_Violation =>
- if Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("PROCEDURE name violation in procedure "
- & String_of(What_Where)));
- when Function_Name_Violation =>
- if Subprogram_Record.visible = OFF then
- return;
- end if;
- Message := SP."&"(Message,
- ("FUNCTION name violation in function "
- & String_of(What_Where)));
- when others =>
- return;
- end case;
- if not SP.Equal(Subprogram_Record.unit_name, "") then
- Message := SP."&"(Message, " in unit ");
- Message := SP."&"(Message, Subprogram_Record.unit_name);
- end if;
- Message := SP."&"(Message, " at line ");
- Message := SP."&"(Message, HD.Source_Line'image(What_Where.srcpos_line));
- Message := SP."&"(Message, " column ");
- Message := SP."&"(Message, HD.Source_Column'image(What_Where.srcpos_column));
- if Report_Mode = FIRST then
- SCD.Standards_To_Check(Violation_Name) := OFF;
- end if;
- Write_Message(Message);
- Violation_Noted := true;
- SP.Release;
-
- end Note_Violation ;
-
- procedure Write_Message (Message : in out SP.string_type) is
-
- begin
- SP.Mark;
- Message := SP."&"(Error_Header, Message);
- while SP.Length(Message) > SCD.Max_Characters_Per_Output_Line loop
- PO.Put_Line(SP.Substr(Message, 1, SCD.Max_Characters_Per_Output_Line));
- Message := SP."&"(Error_Header,
- SP.Substr(Message,
- SCD.Max_Characters_Per_Output_Line + 1,
- SP.Length(Message) -
- SCD.Max_Characters_Per_Output_Line));
- end loop;
- PO.Put_Line(Message);
- SP.Release;
-
- end Write_Message;
-
- procedure Increment_Statement_Count is
-
- begin
-
- Subprogram_Record.stmt_count := Subprogram_Record.stmt_count + 1;
- if Subprogram_Record.stmt_count /= SCD.Max_Statements_Per_Subprogram + 1 or
- Subprogram_Record.bdy = OFF then
- return;
- end if;
- Note_Violation(Statement_Limit_Violation);
-
- end Increment_Statement_Count ;
-
- procedure Save_Unit_Name is
-
- --| This procedure saves the text and source position of a the
- --| identifier corresponding to a subprogram or package.
-
- begin
- Unit_Name := Previous_Token.lexed_token;
- end Save_Unit_Name;
-
- procedure Save_Type_Name is
-
- --| This procedure save the name of the type being declared.
- --| in some cases it will duplicate the Unit_Name, but not
- --| always. Therefore, it must be saved in it's own righrt also.
-
- begin
- Type_Name := Previous_Token.lexed_token;
- end Save_Type_Name;
-
- procedure Save_Builtin_Name is
-
- --| This procedure saves the identifier which may be one of the builtin types
- --| that shouldn't be used in object declarations. There is no way to
- --| narrow down the set of things saved with the grammar without causing
- --| conflicts so we have to do this more often than we would like, but it
- --| can't be helped.
-
- begin
- Builtin_Name := Previous_Token.lexed_token;
- end Save_Builtin_Name;
-
- procedure Set_Decl_Name (Name : in Decl_Name) is
-
- --| Save the type of declaration found by the parser in the
- --| variable Decl_Index. It's called Decl_Index because it's
- --| going to be the index into the table of acceptable prefixes
- --| and suffixes.
-
- begin
- Decl_Index := Name;
- end Set_Decl_Name;
-
- procedure Check_Names (
- Violation : in Violation_Type
- ) is
-
- Allowed_Names : SCD.String_Array;
- identifier : SP.string_type;
- prefix : SP.string_type;
- suffix : SP.string_type;
-
- begin
- Allowed_Names := SCD.Name_Table (Decl_Index);
- if SP.equal (Allowed_Names(SCD.Names_First, SCD.Name_Prefix), "") and
- SP.equal (Allowed_Names(SCD.Names_First, SCD.Name_Suffix), "") then
- return;
- end if;
- identifier := SP.upper (String_Type_of (Type_Name));
- for index in Allowed_Names'range loop
- prefix := Allowed_Names (index, SCD.Name_Prefix);
- suffix := Allowed_Names (index, SCD.Name_Suffix);
- exit when (SP.equal (prefix, "") and SP.equal (suffix, ""));
- if Valid_Prefix(prefix, identifier) and
- Valid_Suffix(suffix, identifier) then
- return;
- end if;
- end loop;
- Note_Violation (Violation, Type_Name);
-
- end Check_Names;
-
-
- procedure Increment_Parameter_Count is
-
- --| Increments the number of parameters in a spec and Notes a
- --| violation if there are more than the Max_Number_of_Parameters.
-
- begin
- Param_Count := Param_Count + 1;
- end Increment_Parameter_Count;
-
- procedure Check_Pragmas is
-
- --| Checks that a pragma is in the set of acceptable ones.
- Allowed_Pragma : SP.string_type;
- name : SP.string_type;
- begin
-
- name := SP.upper (String_Type_of (Previous_Token.lexed_Token));
- for index in SCD.Allowed_Pragmas'range loop
- Allowed_Pragma := SCD.Allowed_Pragmas (index);
- if SP.equal (Allowed_Pragma, name) then
- return;
- end if;
- end loop;
- Note_Violation (Pragma_Violation);
- end Check_Pragmas;
-
- procedure Check_Builtin_Types is
-
- --| checks that objects are not declared of builtin types as that makes
- --| the code non-portable. Defining subtypes is a better idea.
- name : SP.string_type;
- begin
-
- name := SP.upper (String_Type_of (Builtin_Name));
- for index in SCD.Builtin_Types'range loop
- if SP.equal (SCD.Builtin_Types (index), name) then
- Note_Violation (Builtin_Type_Violation, Builtin_Name);
- end if;
- end loop;
-
- end Check_Builtin_Types;
-
-
-
- procedure Set_Visibility (Switch : in ON_OFF) is
-
- begin
- Subprogram_Record.visible := Switch;
- end Set_Visibility;
-
- procedure Set_Range_Constraint (Switch : in ON_OFF) is
-
- begin
- Range_Constraint := Switch;
- if Switch = ON then
- Range_Record := Previous_Token.lexed_token;
- end if;
- end Set_Range_Constraint;
-
- procedure Check_Range_Constraint is
-
- begin
- if Range_Constraint = ON then
- Note_Violation (Range_Constraint_Violation, Range_Record);
- end if;
- end Check_Range_Constraint;
-
- procedure Check_Parameters is
-
- begin
- if Param_Count > SCD.Max_Parameters_Per_Subprogram then
- Note_Violation (Parameter_Limit_Violation);
- end if;
- end Check_Parameters;
-
-
- procedure Set_Body_Indicator (Switch : in ON_OFF) is
-
- begin
- Subprogram_Record.bdy := Switch;
- end Set_Body_Indicator;
-
-
- procedure Set_Package_Indicator (Switch : in ON_OFF) is
-
- begin
- Subprogram_Record.pkg := Switch;
- end Set_Package_Indicator;
-
- procedure Check_Boolean is
-
- Boolean_Value : SP.string_type;
-
- begin
- SP.mark;
- Boolean_Value := SP.upper (string_type_of(PD.CurToken.lexed_token));
- if SP.equal (Boolean_Value, Boolean_True) or
- SP.equal (Boolean_Value, Boolean_False) then
- Note_Violation (BOOLEAN_COMPARISON_VIOLATION);
- end if;
- SP.Release;
- end Check_Boolean;
-
-
- end Standards_Checker_Utilities;
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --STNDCHECK.ADA
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- --------- SPEC ----------------------------------------------------------
- procedure StndCheck;
-
- --------- BODY ----------------------------------------------------------
-
- with TEXT_IO;
- with Paginated_Output;
- with Parser;
- with Lex;
- with ParserDeclarations;
- with Standards_Checker_Utilities;
- with Host_Dependencies;
- with Command_Line_Interface;
- with String_Pkg;
- with VMS_Lib;
-
- procedure StndCheck is
-
- use Standards_Checker_Utilities;
-
- package TIO renames TEXT_IO;
- package HD renames Host_Dependencies;
- package CLI renames Command_Line_Interface;
- package SP renames String_Pkg;
- package PD renames ParserDeclarations;
- package PO renames Paginated_Output;
- package VL renames VMS_Lib;
-
- Error_Flag : boolean := false;
- Units : ParserDeclarations.ParseStackElement;
- Source_File_Name : SP.String_Type;
- Input_File : TIO.FILE_TYPE;
- Source_File: TIO.FILE_TYPE;
- Out_File : SP.String_Type;
- N, P : INTEGER;
- Maxparm : constant INTEGER := 4;
- Minparm : constant INTEGER := 1;
- Arg_Name : constant array (1 .. Maxparm) of SP.String_Type
- := (1 => SP.Create ("SOURCE"),
- 2 => SP.Create ("OUTPUT"),
- 3 => SP.Create ("PRINT"),
- 4 => SP.Create ("REPORT"));
- Arg_Value : array (1 .. Maxparm) of SP.String_Type
- := (1 => SP.Create (""),
- 2 => SP.Create (""),
- 3 => SP.Create ("VIOLATION"),
- 4 => SP.Create ("EVERY"));
- Good_Message : SP.string_type :=
- SP.create ("No standards violations found.");
-
- procedure Help is
- begin
- TIO.PUT_LINE("-- CHECK_STANDARDS: Checks Ada source file for possible standards violations");
- TIO.PUT_LINE("type PRINT_TYPE is (VIOLATION, SOURCE);");
- TIO.PUT_LINE("type REPORT_TYPE is (EVERY, FIRST);");
- TIO.PUT_LINE("procedure CHECK_STANDARDS ( SOURCE : in STRING;");
- TIO.PUT_LINE(" OUTPUT : in STRING := """";");
- TIO.PUT_LINE(" PRINT : in PRINT_TYPE := VIOLATION;");
- TIO.PUT_LINE(" REPORT : in REPORT_TYPE := EVERY);");
- TIO.PUT_LINE("-- SOURCE : Name of the input file");
- TIO.PUT_LINE("-- OUTPUT : Name of the report file (defaults to standard output)");
- TIO.PUT_LINE("-- PRINT : VIOLATION - List of violations only (default)");
- TIO.PUT_LINE("-- SOURCE - Source file with violations");
- TIO.PUT_LINE("-- REPORT : EVERY - List every occurance of each violations (default)");
- TIO.PUT_LINE("-- FIRST - List only the first occurance of each violations");
- end Help;
-
- begin -- procedure MAIN
-
- VL.Set_Error;
-
- begin
- CLI.Initialize;
- exception
- when CLI.Invalid_Parameter_Order =>
- TIO.PUT_LINE("Error : Positional arguments not allowed after named arguments.");
- Help;
- return;
- when CLI.Missing_Positional_Arg =>
- TIO.PUT_LINE("Error : Positional argument omitted.");
- Help;
- return;
- when CLI.Invalid_Named_Association =>
- TIO.PUT_LINE("Error : Named argument not followed by its value.");
- Help;
- return;
- end;
-
- N := CLI.Named_Arg_Count;
- P := CLI.Positional_Arg_Count;
-
- if (P = 0 and N = 0) then
- Help;
- return;
- end if;
-
- if (P > Maxparm) or (N > Maxparm) or
- (N + P > Maxparm) or (N + P < Minparm) then
- TIO.Put_Line ("Error : Too many arguments.");
- Help;
- return;
- end if;
-
- SP.Mark;
- for i in 1 .. P loop
- Arg_Value(i) := CLI.Positional_Arg_Value(i);
- end loop;
- for i in 1 .. Maxparm loop
- Arg_Value(i) := CLI.Named_Arg_Value(SP.Value(Arg_Name(i)), Arg_Value(i));
- end loop;
-
- begin
- CLI.Finalize;
- exception
- when CLI.Unreferenced_Named_Arg =>
- TIO.PUT_LINE("Error : Invalid named argument specified.");
- Help;
- return;
- end;
-
- if SP.Equal(Arg_Value(1), "") then
- TIO.Put_Line ("Error : Input file specification not given.");
- return;
- end if;
- Source_File_Name := SP.Make_Persistent(Arg_Value(1));
- Out_File := SP.Make_Persistent(Arg_Value(2));
- SP.Release;
-
- begin
- Print_Mode := Print_Mode_Type'value(SP.Value(Arg_Value(3)));
- exception
- when CONSTRAINT_ERROR =>
- TIO.Put ("Error : Invalid print type ");
- TIO.Put (SP.Value(Arg_Value(3)));
- TIO.Put_Line (". Valid print type is VIOLATION or SOURCE.");
- Error_Flag := true;
- end;
-
- begin
- Report_Mode := Report_Mode_Type'value(SP.Value(Arg_Value(4)));
- exception
- when CONSTRAINT_ERROR =>
- TIO.Put ("Error : Invalid report type ");
- TIO.Put (SP.Value(Arg_Value(4)));
- TIO.Put_Line (". Valid report type is EVERY or FIRST.");
- Error_Flag := true;
- end;
-
- if Error_Flag then
- return;
- end if;
-
- -- Echo back command line
-
- TIO.PUT ("CHECK_STANDARDS ( SOURCE => """);
- TIO.PUT (SP.Value(Source_File_Name));
- TIO.PUT_LINE(""",");
- TIO.PUT (" OUTPUT => """);
- TIO.PUT (SP.Value(Out_File));
- TIO.PUT_LINE(""",");
- TIO.PUT (" PRINT => ");
- TIO.PUT (Print_Mode_Type'image(Print_Mode));
- TIO.PUT_LINE(",");
- TIO.PUT (" REPORT => ");
- TIO.PUT (Report_Mode_Type'image(Report_Mode));
- TIO.PUT_LINE(" );");
-
- TIO.OPEN(FILE => Input_File,
- MODE => TIO.IN_FILE,
- NAME => SP.Value(Source_File_Name));
- TIO.SET_INPUT(Input_File);
-
- TIO.OPEN(FILE => Source_File,
- MODE => TIO.IN_FILE,
- NAME => SP.Value(Source_File_Name));
-
- if not SP.Equal(Out_File, "") then
- PO.Set_Standard_Paginated_File(SP.Value(Out_File), 60, 4, 2);
- PO.Set_Header(2, "Standards Violations for " & SP.value(Source_File_Name));
- PO.Set_Header(3, "Date : ~d Time : ~t Page ~p");
- end if;
-
- Units := Parser.Parse;
-
- if not Violation_Noted then
- Write_Message(Good_Message);
- end if;
-
- TIO.CLOSE(Input_File);
- TIO.CLOSE(Source_File);
- PO.Close_Paginated_File;
-
- exception
-
- when TIO.Status_Error =>
- TIO.PUT_LINE("Error : File " & SP.Value(Source_File_Name) & " already open.");
- when TIO.Name_Error =>
- TIO.PUT_LINE("Error : Unable to open file " & SP.Value(Source_File_Name) & " for input.");
- when TIO.Use_Error =>
- TIO.PUT_LINE("Error : Invalid file name " & SP.Value(Source_File_Name) & ".");
-
- when PD.Parser_Error =>
- TIO.PUT_LINE("Error : Syntax error in source: Line: " & HD.Source_Line
- 'Image(PD.CurToken.lexed_token.srcpos_line) & " Column: " &
- HD.Source_Column'Image(PD.CurToken.lexed_token.srcpos_column));
- TIO.CLOSE(Input_File);
- TIO.CLOSE(Source_File);
- PO.Close_Paginated_File;
-
- when PO.File_ALready_Open =>
- TIO.PUT_LINE("Error : File " & SP.Value(Out_File) & " already open.");
- TIO.CLOSE(Input_File);
- TIO.CLOSE(Source_File);
- when PO.File_Error =>
- TIO.PUT_LINE("Error : Unable to open " & SP.Value(Out_File) & " for output.");
- TIO.CLOSE(Input_File);
- TIO.CLOSE(Source_File);
-
- when others =>
- TIO.PUT_LINE("Error : CHECK_STANDARDS internal error.");
-
- end StndCheck;
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --APPLYACT.SUB
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- with Standards_Checker_Utilities;
- -- with INT_IO;
-
- separate (Parser)
- procedure Apply_Actions(Rule_Number : in PT.LeftHandSideRange) is
-
- use Standards_Checker_Utilities;
- -- use INT_IO;
-
- begin
- case Rule_Number is
-
-
- ----------------------------------------------------------------------
- -- pragma ::= PRAGMA pragma_identifier ( general_component_associations ) ;
-
- when 1 =>
- -- PUT( 1 ,4);
-
- Increment_Statement_Count ;
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- pragma ::= PRAGMA pragma_identifier ;
-
- when 2 =>
- -- PUT( 2 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- pragma_identifier ::= identifier
-
- when 3 =>
- -- PUT( 3 ,4);
-
- Check_Pragmas ;
- ----------------------------------------------------------------------
- -- object_declaration ::= object_item ;
-
- when 15 =>
- -- PUT( 15 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- object_item ::= identifier_list : subtype_indication [:=expression]
-
- when 16 =>
- -- PUT( 16 ,4);
-
- Check_Builtin_Types;
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- object_item ::= identifier_list : CONSTANT subtype_indication [:=expression]
-
- when 17 =>
- -- PUT( 17 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- object_item ::= identifier_list : constrained_array_definition
- -- [:=expression]
-
- when 18 =>
- -- PUT( 18 ,4);
-
- Check_Builtin_Types;
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- object_item ::= identifier_list : CONSTANT constrained_array_definition
-
- when 19 =>
- -- PUT( 19 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- number_declaration ::= identifier_list : CONSTANT := expression ;
-
- when 20 =>
- -- PUT( 20 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- full_type_declaration ::= TYPE type_identifier is__type_definition ;
-
- when 25 =>
- -- PUT( 25 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- full_type_declaration ::= TYPE type_identifier ( discriminant_specification
- -- )
-
- when 26 =>
- -- PUT( 26 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- is__type_definition ::= IS type_definition
-
- when 27 =>
- -- PUT( 27 ,4);
-
- Check_Names (Type_Name_Violation) ;
- ----------------------------------------------------------------------
- -- type_identifier ::= identifier
-
- when 28 =>
- -- PUT( 28 ,4);
-
- Save_Type_Name ;
- ----------------------------------------------------------------------
- -- type_definition ::= enumeration_type_definition
-
- when 29 =>
- -- PUT( 29 ,4);
-
- Set_Decl_Name (Enumeration_Type) ;
- ----------------------------------------------------------------------
- -- type_definition ::= integer_type_definition
-
- when 30 =>
- -- PUT( 30 ,4);
-
- Set_Decl_Name (Integer_Type) ;
- ----------------------------------------------------------------------
- -- type_definition ::= real_type_definition
-
- when 31 =>
- -- PUT( 31 ,4);
-
- Set_Decl_Name (Real_Type) ;
- ----------------------------------------------------------------------
- -- type_definition ::= array_type_definition
-
- when 32 =>
- -- PUT( 32 ,4);
-
- Set_Decl_Name (Array_Type) ;
- Note_Violation (NONSCALAR_TYPE_VIOLATION) ;
- ----------------------------------------------------------------------
- -- type_definition ::= record_type_definition
-
- when 33 =>
- -- PUT( 33 ,4);
-
- Set_Decl_Name (Record_Type) ;
- Note_Violation (NONSCALAR_TYPE_VIOLATION) ;
- ----------------------------------------------------------------------
- -- type_definition ::= access_type_definition
-
- when 34 =>
- -- PUT( 34 ,4);
-
- Set_Decl_Name (Access_Type) ;
- Note_Violation (NONSCALAR_TYPE_VIOLATION) ;
- ----------------------------------------------------------------------
- -- type_definition ::= derived_type_definition
-
- when 35 =>
- -- PUT( 35 ,4);
-
- Set_Decl_Name (Derived_Type) ;
- ----------------------------------------------------------------------
- -- subtype_declaration ::= SUBTYPE type_identifier is__subtype_indication ;
-
- when 36 =>
- -- PUT( 36 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- is__subtype_indication ::= IS subtype_indication
-
- when 37 =>
- -- PUT( 37 ,4);
-
- Set_Decl_Name (Subtype_Type) ;
- Check_Names (Type_Name_Violation) ;
- ----------------------------------------------------------------------
- -- derived_type_definition ::= NEW subtype_indication
-
- when 45 =>
- -- PUT( 45 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- range_constraint ::= RANGE simple_expression .. simple_expression
-
- when 47 =>
- -- PUT( 47 ,4);
-
- Set_Range_Constraint (ON) ;
- ----------------------------------------------------------------------
- -- integer_type_definition ::= range_constraint
-
- when 52 =>
- -- PUT( 52 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- real_type_definition ::= floating_point_constraint
-
- when 53 =>
- -- PUT( 53 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- real_type_definition ::= fixed_point_constraint
-
- when 54 =>
- -- PUT( 54 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- array_type_definition ::= unconstrained_array_definition
-
- when 59 =>
- -- PUT( 59 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- index_subtype_definition ::= name RANGE <>
-
- when 63 =>
- -- PUT( 63 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- index_constraint ::= ( discrete_range {,discrete_range} )
-
- when 64 =>
- -- PUT( 64 ,4);
-
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- range ::= simple_expression .. simple_expression
-
- when 68 =>
- -- PUT( 68 ,4);
-
- Set_Range_Constraint (ON) ;
- ----------------------------------------------------------------------
- -- component_item ::= identifier_list : subtype_indication [:=expression]
-
- when 74 =>
- -- PUT( 74 ,4);
-
- Check_Builtin_Types ;
- ----------------------------------------------------------------------
- -- choice ::= simple_expression
-
- when 79 =>
- -- PUT( 79 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- choice ::= simple_expression .. simple_expression
-
- when 80 =>
- -- PUT( 80 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- choice ::= name range_constraint
-
- when 81 =>
- -- PUT( 81 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- access_type_definition ::= ACCESS subtype_indication
-
- when 82 =>
- -- PUT( 82 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- incomplete_type_declaration ::= TYPE type_identifier ;
-
- when 83 =>
- -- PUT( 83 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- incomplete_type_declaration ::= TYPE type_identifier ( ) ;
-
- when 84 =>
- -- PUT( 84 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- component_associations ::= expression,expression{,expression}
-
- when 120 =>
- -- PUT( 120 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- component_associations ::= expression,expression{,expression} ,
-
- when 121 =>
- -- PUT( 121 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- component_associations ::= expression , choice{|choice}=>expression
-
- when 122 =>
- -- PUT( 122 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- component_associations ::= choice{|choice}=>expression [,others=>expression]
-
- when 123 =>
- -- PUT( 123 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- component_associations ::= expression , others=>expression
-
- when 124 =>
- -- PUT( 124 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- component_associations ::= others=>expression
-
- when 125 =>
- -- PUT( 125 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- primary ::= numeric_literal
-
- when 142 =>
- -- PUT( 142 ,4);
-
- Note_Violation (NAMED_NUMBER_VIOLATION) ;
- ----------------------------------------------------------------------
- -- relational_operator ::= =
-
- when 149 =>
- -- PUT( 149 ,4);
-
- Check_Boolean ;
- ----------------------------------------------------------------------
- -- relational_operator ::= /=
-
- when 150 =>
- -- PUT( 150 ,4);
-
- Check_Boolean ;
- ----------------------------------------------------------------------
- -- null_statement ::= NULL ;
-
- when 195 =>
- -- PUT( 195 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- assignment_statement ::= name := expression ;
-
- when 196 =>
- -- PUT( 196 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- if_statement ::= IF condition_THEN__sequence_of_statements END IF ;
-
- when 197 =>
- -- PUT( 197 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- condition ::= expression
-
- when 198 =>
- -- PUT( 198 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- case_statement ::= CASE expression IS {pragma_alt}
- -- case_statement_alternative
-
- when 199 =>
- -- PUT( 199 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- loop_statement ::= [loop_identifier:] LOOP sequence_of_statements END LOOP ;
-
- when 202 =>
- -- PUT( 202 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- loop_statement ::= [loop_identifier:] iteration_rule LOOP END LOOP ;
-
- when 203 =>
- -- PUT( 203 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- iteration_rule ::= FOR identifier IN discrete_range
-
- when 205 =>
- -- PUT( 205 ,4);
-
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- iteration_rule ::= FOR identifier IN REVERSE discrete_range
-
- when 206 =>
- -- PUT( 206 ,4);
-
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- begin_end_block ::= begin_end_block_head sequence_of_statements END
-
- when 208 =>
- -- PUT( 208 ,4);
-
- Set_Body_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- begin_end_block ::= begin_end_block_head sequence_of_statements EXCEPTION
- -- END
-
- when 209 =>
- -- PUT( 209 ,4);
-
- Set_Body_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- begin_end_block_head ::= BEGIN
-
- when 210 =>
- -- PUT( 210 ,4);
-
- Set_Body_Indicator (ON) ;
- ----------------------------------------------------------------------
- -- block_statement ::= [block_identifier:] declare_item [identifier] ;
-
- when 211 =>
- -- PUT( 211 ,4);
-
- Set_Body_Indicator (ON) ;
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- block_statement ::= [block_identifier:] begin_end_block [identifier] ;
-
- when 212 =>
- -- PUT( 212 ,4);
-
- Set_Body_Indicator (ON) ;
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- declare_item ::= DECLARE
-
- when 213 =>
- -- PUT( 213 ,4);
-
- Set_Body_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- exit_item ::= EXIT
-
- when 215 =>
- -- PUT( 215 ,4);
-
- Increment_Statement_Count ;
- Note_Violation (EXIT_IF_VIOLATION) ;
- ----------------------------------------------------------------------
- -- exit_item ::= EXIT WHEN condition
-
- when 216 =>
- -- PUT( 216 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- exit_item ::= EXIT expanded_name
-
- when 217 =>
- -- PUT( 217 ,4);
-
- Increment_Statement_Count ;
- Note_Violation (EXIT_IF_VIOLATION) ;
- ----------------------------------------------------------------------
- -- exit_item ::= EXIT expanded_name WHEN condition
-
- when 218 =>
- -- PUT( 218 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- return_statement ::= RETURN ;
-
- when 219 =>
- -- PUT( 219 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- return_statement ::= RETURN expression ;
-
- when 220 =>
- -- PUT( 220 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- goto_item ::= GOTO expanded_name
-
- when 222 =>
- -- PUT( 222 ,4);
-
- Increment_Statement_Count ;
- Note_Violation (GOTO_VIOLATION) ;
- ----------------------------------------------------------------------
- -- subprogram_declaration ::= subprogram_specification ;
-
- when 223 =>
- -- PUT( 223 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- subprogram_specification ::= PROCEDURE subprogram_identifier ( )
-
- when 225 =>
- -- PUT( 225 ,4);
-
- Check_Parameters ;
- ----------------------------------------------------------------------
- -- subprogram_specification ::= FUNCTION designator ( parameter_specification )
-
- when 227 =>
- -- PUT( 227 ,4);
-
- Check_Parameters ;
- ----------------------------------------------------------------------
- -- designator ::= identifier
-
- when 228 =>
- -- PUT( 228 ,4);
-
- Save_Unit_Name ;
- Save_Type_Name ;
- Set_Decl_Name (Function_Type) ;
- Check_Names (Function_Name_Violation) ;
- Param_Count := 0;
- ----------------------------------------------------------------------
- -- designator ::= string_literal
-
- when 229 =>
- -- PUT( 229 ,4);
-
- Save_Unit_Name ;
- Save_Type_Name ;
- Set_Decl_Name (Function_Type) ;
- Param_Count := 0;
- ----------------------------------------------------------------------
- -- subprogram_identifier ::= identifier
-
- when 230 =>
- -- PUT( 230 ,4);
-
- Save_Unit_Name ;
- Save_Type_Name ;
- Set_Decl_Name (Procedure_Type) ;
- Check_Names (Procedure_Name_Violation) ;
- Param_Count := 0;
- ----------------------------------------------------------------------
- -- parameter_specification ::= identifier_list mode type_mark [:=expression]
-
- when 231 =>
- -- PUT( 231 ,4);
-
- Increment_Parameter_Count ;
- Check_Builtin_Types ;
- ----------------------------------------------------------------------
- -- subprogram_body_head ::= subprogram_specification IS
-
- when 238 =>
- -- PUT( 238 ,4);
-
- Enter_Subprogram ;
- Set_Body_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- subprogram_body_tail ::= declarative_part__begin_end_block [end_designator]
- -- ;
-
- when 239 =>
- -- PUT( 239 ,4);
-
- Exit_Subprogram ;
- ----------------------------------------------------------------------
- -- call_statement ::= name ;
-
- when 240 =>
- -- PUT( 240 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- package_declaration ::= package_specification ;
-
- when 241 =>
- -- PUT( 241 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- package_specification ::= PACKAGE package_identifier IS END [identifier]
-
- when 242 =>
- -- PUT( 242 ,4);
-
- Set_Package_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- package_specification ::= PACKAGE package_identifier IS private_part END
-
- when 243 =>
- -- PUT( 243 ,4);
-
- Set_Visibility (ON) ;
- Set_Package_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- private_part ::= PRIVATE
-
- when 244 =>
- -- PUT( 244 ,4);
-
- Set_Visibility (OFF) ;
- ----------------------------------------------------------------------
- -- package_identifier ::= identifier
-
- when 245 =>
- -- PUT( 245 ,4);
-
- Save_Unit_Name ;
- Save_Type_Name ;
- Set_Decl_Name (Package_Type) ;
- Check_Names (Package_Name_Violation) ;
- Set_Package_Indicator (ON) ;
- ----------------------------------------------------------------------
- -- package_body ::= package_body_indicator declarative_part END [identifier] ;
-
- when 246 =>
- -- PUT( 246 ,4);
-
- Set_Visibility (ON) ;
- Set_Package_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- package_body ::= package_body_indicator declarative_part__begin_end_block ;
-
- when 247 =>
- -- PUT( 247 ,4);
-
- Set_Visibility (ON) ;
- Set_Package_Indicator (OFF) ;
- ----------------------------------------------------------------------
- -- package_body_indicator ::= PACKAGE BODY identifier IS
-
- when 248 =>
- -- PUT( 248 ,4);
-
- Set_Visibility (OFF) ;
- Set_Package_Indicator (ON) ;
- ----------------------------------------------------------------------
- -- private_type_declaration ::= TYPE type_identifier IS LIMITED PRIVATE ;
-
- when 249 =>
- -- PUT( 249 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- use_clause ::= USE expanded_name {,expanded_name} ;
-
- when 253 =>
- -- PUT( 253 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- renaming_declaration ::= identifier_list : type_mark RENAMES name ;
-
- when 254 =>
- -- PUT( 254 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- renaming_declaration ::= identifier_list : EXCEPTION RENAMES expanded_name ;
-
- when 255 =>
- -- PUT( 255 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- renaming_declaration ::= PACKAGE package_identifier RENAMES expanded_name ;
-
- when 256 =>
- -- PUT( 256 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- renaming_declaration ::= subprogram_specification RENAMES name ;
-
- when 257 =>
- -- PUT( 257 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- task_declaration ::= task_specification ;
-
- when 258 =>
- -- PUT( 258 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- task_identifier ::= identifier
-
- when 263 =>
- -- PUT( 263 ,4);
-
- Save_Type_Name ;
- Set_Decl_Name (Task_Type) ;
- Check_Names (Type_Name_Violation) ;
- ----------------------------------------------------------------------
- -- entry_declaration ::= ENTRY identifier [(discrete_range)][formal_part] ;
-
- when 266 =>
- -- PUT( 266 ,4);
-
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- accept_statement ::= ACCEPT identifier [(expression)][formal_part] ;
-
- when 267 =>
- -- PUT( 267 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- accept_statement ::= ACCEPT identifier [(expression)][formal_part] DO END ;
-
- when 268 =>
- -- PUT( 268 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- delay_statement ::= DELAY simple_expression ;
-
- when 269 =>
- -- PUT( 269 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- selective_wait ::= SELECT select_alternative {OR__select_alternative} END ;
-
- when 273 =>
- -- PUT( 273 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- conditional_entry_call ::= SELECT {pragma_stm} call_statement ELSE END
- -- SELECT
-
- when 282 =>
- -- PUT( 282 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- timed_entry_call ::= SELECT {pragma_stm} call_statement OR {pragma_stm} END
-
- when 283 =>
- -- PUT( 283 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- abort_statement ::= ABORT name {,name} ;
-
- when 284 =>
- -- PUT( 284 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- compilation_unit ::= pragma_header ( general_component_associations ) ;
-
- when 287 =>
- -- PUT( 287 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- with_clause ::= WITH identifier {,used_identifier} ;
-
- when 298 =>
- -- PUT( 298 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- body_stub ::= subprogram_specification IS SEPARATE ;
-
- when 299 =>
- -- PUT( 299 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- body_stub ::= PACKAGE BODY identifier IS SEPARATE ;
-
- when 300 =>
- -- PUT( 300 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- body_stub ::= TASK BODY identifier IS SEPARATE ;
-
- when 301 =>
- -- PUT( 301 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- exception_declaration ::= identifier_list : EXCEPTION ;
-
- when 303 =>
- -- PUT( 303 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- exception_handler ::= WHEN exception_choice {|exception_choice} =>
-
- when 304 =>
- -- PUT( 304 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- raise_statement ::= RAISE ;
-
- when 307 =>
- -- PUT( 307 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- raise_statement ::= RAISE expanded_name ;
-
- when 308 =>
- -- PUT( 308 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_declaration ::= generic_specification ;
-
- when 309 =>
- -- PUT( 309 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_instantiation ::= PACKAGE package_identifier IS NEW expanded_name ;
-
- when 325 =>
- -- PUT( 325 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_instantiation ::= PACKAGE package_identifier IS NEW expanded_name (
- -- )
-
- when 326 =>
- -- PUT( 326 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_instantiation ::= FUNCTION designator IS NEW expanded_name ;
-
- when 327 =>
- -- PUT( 327 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_instantiation ::= FUNCTION designator IS NEW expanded_name ( ) ;
-
- when 328 =>
- -- PUT( 328 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_instantiation ::= subprogram_specification IS NEW expanded_name ;
-
- when 329 =>
- -- PUT( 329 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_instantiation ::= subprogram_specification IS NEW expanded_name ( )
- -- ;
-
- when 330 =>
- -- PUT( 330 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- generic_actual_parameter ::= expression
-
- when 334 =>
- -- PUT( 334 ,4);
-
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- representation_item ::= length_clause
-
- when 336 =>
- -- PUT( 336 ,4);
-
- Note_Violation (REP_SPEC_VIOLATION) ;
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- representation_item ::= enumeration_representation_clause
-
- when 337 =>
- -- PUT( 337 ,4);
-
- Note_Violation (REP_SPEC_VIOLATION) ;
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- representation_item ::= address_clause
-
- when 338 =>
- -- PUT( 338 ,4);
-
- Note_Violation (REP_SPEC_VIOLATION) ;
- Check_Range_Constraint ;
- ----------------------------------------------------------------------
- -- representation_item ::= record_representation_clause
-
- when 339 =>
- -- PUT( 339 ,4);
-
- Note_Violation (REP_SPEC_VIOLATION) ;
- ----------------------------------------------------------------------
- -- code_item ::= name ' aggregate
-
- when 348 =>
- -- PUT( 348 ,4);
-
- Increment_Statement_Count ;
- Set_Range_Constraint (OFF) ;
- Note_Violation (CODE_STATEMENT_VIOLATION) ;
- ----------------------------------------------------------------------
- -- [:=expression] ::= empty
-
- when 357 =>
- -- PUT( 357 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [:=expression] ::= := expression
-
- when 358 =>
- -- PUT( 358 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- expanded_name ::= identifier
-
- when 362 =>
- -- PUT( 362 ,4);
-
- Save_Builtin_Name ;
- ----------------------------------------------------------------------
- -- expanded_name ::= expanded_name . identifier
-
- when 363 =>
- -- PUT( 363 ,4);
-
- Save_Builtin_Name ;
- ----------------------------------------------------------------------
- -- expression,expression{,expression} ::= expression , expression
-
- when 384 =>
- -- PUT( 384 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- expression,expression{,expression} ::= expression,expression{,expression} ,
-
- when 385 =>
- -- PUT( 385 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- choice{|choice}=>expression ::= choice {|choice} => expression
-
- when 386 =>
- -- PUT( 386 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [,others=>expression] ::= empty
-
- when 389 =>
- -- PUT( 389 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- others=>expression ::= OTHERS => expression
-
- when 391 =>
- -- PUT( 391 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- ga_expression ::= simple_expression .. simple_expression
-
- when 393 =>
- -- PUT( 393 ,4);
-
- Set_Range_Constraint (ON) ;
- ----------------------------------------------------------------------
- -- identifier{|identifier}=>expression ::= identifier {|identifier} =>
- -- expression
-
- when 397 =>
- -- PUT( 397 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [unary_adding_operator]term{binary_adding_operator__term} ::= term
-
- when 416 =>
- -- PUT( 416 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [unary_adding_operator]term{binary_adding_operator__term} ::= term
-
- when 417 =>
- -- PUT( 417 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [unary_adding_operator]term{binary_adding_operator__term} ::= term
-
- when 418 =>
- -- PUT( 418 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- {ELSIF__condition__THEN__sequence_of_statements} ::= ELSIF condition THEN
-
- when 429 =>
- -- PUT( 429 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- [ELSE__sequence_of_statements] ::= ELSE sequence_of_statements
-
- when 431 =>
- -- PUT( 431 ,4);
-
- Increment_Statement_Count ;
- ----------------------------------------------------------------------
- -- [(expression)][formal_part] ::= ( expression )
-
- when 460 =>
- -- PUT( 460 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [(expression)][formal_part] ::= ( expression ) ( parameter_specification )
-
- when 461 =>
- -- PUT( 461 ,4);
-
- Set_Range_Constraint (OFF) ;
- ----------------------------------------------------------------------
- -- [IS__name__or__<>] ::= IS name
-
- when 481 =>
- -- PUT( 481 ,4);
-
- Set_Range_Constraint (OFF) ;
-
- when others =>
- null;
- end case;
-
- end Apply_Actions;
-
-
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --GETNEXT.SUB
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- with Standards_Checker_Utilities; use Standards_Checker_Utilities;
-
- separate (Lex)
- function GetNextNonCommentToken return PD.ParseStackElement is
- begin
-
- Previous_Token := CST;
-
- loop
- CST := GetNextSourceToken;
- -- CST is the current source Token which is a
- -- PD.ParseStackElement
- exit when (CST.gram_sym_val = PT.EOF_TokenValue) or
- (CST.gram_sym_val /= PT.Comment_TokenValue);
-
- -- comments are ignored in standards checker
-
- end loop;
- return CST; -- return the token that is not a comment
- end GetNextNonCommentToken;
-
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- --WRITELINE.SUB
- --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- with Standards_Checker_Utilities; use Standards_Checker_Utilities;
- with Standards_Checker_Declarations; use Standards_Checker_Declarations;
- with Paginated_Output; use Paginated_Output;
- with String_Pkg; use String_Pkg;
-
- separate (Lex)
-
- procedure Write_Line is
-
- Output_String : String_Type;
-
- begin
-
- if Print_Mode = VIOLATION then
- return;
- end if;
- Mark;
- Output_String := Create(Line_Buffer(Line_Buffer'First .. Line_Buffer_Last));
- while Length(Output_String) > Max_Characters_Per_Output_Line loop
- Put_Line(Substr(Output_String, 1, Max_Characters_Per_Output_Line));
- Output_String := Substr(Output_String,
- Max_Characters_Per_Output_Line + 1,
- Length(Output_String) -
- Max_Characters_Per_Output_Line);
- end loop;
- Put_Line(Output_String);
- Release;
-
- end Write_Line;
-
-