blob: b924824bb521b53aeea1c3a6aa5a21a6d0e2fbd3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*********************************************************************************/
// This file was generated by LPG
package org.eclipse.cdt.internal.core.dom.lrparser.gcc;
public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, GCCSizeofExpressionParsersym {
public interface IsKeyword {
public final static byte isKeyword[] = { 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, 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, 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, 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, 0 };
}
public final static byte isKeyword[] = IsKeyword.isKeyword;
public final boolean isKeyword(int index) {
return isKeyword[index] != 0;
}
public interface BaseCheck {
public final static short baseCheck[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4,
4, 3, 3, 2, 2, 4, 1, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 4, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3,
3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 2, 1, 0, 1, 3,
1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 2, 4, 1, 2, 1, 1, 1, 2, 5, 7, 5, 1, 0, 7, 2, 5, 9, 8, 3, 2, 2, 2, 3, 2,
4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 3, 1, 3, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 8, 0, 0, 1, 1, 3, 3, 3, 0, 1, 0, 1, 2, 4, 2, 1, 1,
1, 3, 1, 1, 2, 3, 7, 8, 0, 1, 0, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1, 5, 3, 1,
3, 5, 1, 3, 1, 3, 2, 4, 3, 5, 4, 6, 6, 3, 5, 1, 3, 4, 5, 6, 0, 1, 2, 1, 3, 1, 1, 3, 2, 1, 1, 1, 1, 2, 1,
2, 3, 1, 1, 1, 3, 1, 2, 2, 2, 3, 4, 5, 1, 1, 7, 3, 0, 0, 1, 1, 3, 3, 4, 1, 1, 2, 3, 2, 3, 2, 1, 0, 1, 2,
1, 1, 1, 1, 1, 2, 1, 3, 6, 4, 2, 4, 1, 1, 1, 1, 2, 6, 3, 1, 3, 1, 4, 0, 1, 1, 1, 3, 1, 0, 4, 3, 1, 2, 1,
3, 4, 4, 4, 6, 1, 0, 1, 3, 1, 3, 0, 1, 4, 5, 2, 2, 3, 3, 5, 3, 4, 3, 1, 2, 2, 2, 4, 2, 1, 1, 2, 2, 3, 2,
2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 5, 3, 1, 1, 1, -39, 0, 0, 0, 0, 0, 0, -35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -241, 0, -2, 0, -80, -118, -240, 0, 0, 0, -31, 0, -173, 0, -41, 0, 0, 0, 0, 0, 0, -17,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, -4,
0, -170, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, -16, 0, -18, -1, 0, 0, 0, 0, 0, 0, 0, 0, -119, -33,
0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, -176, -20, 0, -21, 0, 0, 0, 0, 0,
0, -199, 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, 0, 0, -281, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -134, 0, -260, -289, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, -232, 0, 0, 0, -22, 0,
-250, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -61, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, -130, 0,
-273, 0, 0, -220, 0, 0, 0, 0, -283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -297, 0, -23, 0, -311, 0, 0, 0, 0, 0, 0, -24, 0, 0, 0, 0, 0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-310, 0, 0, 0, 0, -25, 0, -36, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -139, 0, 0, -252, 0, 0, 0, 0, 0, 0, -305, 0, 0, 0, 0, 0, 0,
-148, 0, 0, 0, 0, 0, 0, 0, 0, 0, -140, 0, -155, 0, -3, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, -149, 0,
-186, 0, 0, 0, 0, 0, 0, 0, 0, 0, -284, 0, 0, -124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, -28, -168,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, -157, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, -123, -84, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -169, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -204, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, -94, 0, -318, 0, 0, 0, 0, 0, 0,
-164, 0, 0, 0, 0, -99, 0, 0, -222, 0, 0, 0, 0, 0, 0, 0, 0, -163, -243, 0, 0, -29, 0, 0, 0, 0, 0, 0, -37,
0, 0, 0, 0, -315, 0, -100, -244, 0, 0, 0, 0, 0, 0, 0, 0, -101, -288, -102, 0, -103, 0, 0, 0, -62, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0, 0,
-181, 0, 0, 0, 0, 0, 0, 0, -104, 0, 0, 0, 0, 0, 0, 0, 0, -105, 0, -263, 0, -64, 0, 0, 0, 0, 0, 0, -183,
0, 0, 0, 0, 0, -245, 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, -303, 0, -65, 0, 0, 0, 0, 0, 0, -201, 0,
0, 0, 0, -312, 0, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, -107, 0, 0, -66, 0, 0, 0, 0, 0, 0, -218, 0, 0, 0,
0, -334, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, -109, 0, -328, 0, -67, 0, 0, 0, 0, 0, 0, -242, 0, 0, 0, 0,
-343, -256, 0, -110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -111, 0, -68, 0, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0,
-112, -280, 0, -113, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, -115, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-116, -295, -117, -120, 0, 0, 0, 0, 0, 0, 0, 0, -122, -133, -143, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -150, -319, -151, -153, 0, 0, 0, 0, 0, 0, 0, 0, -154, -294, -156, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -158, -165, -174, -178, 0, 0, 0, 0, 0, 0, 0, 0, -182, -302, -185, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -190, -194, -207, -195, 0, 0, 0, 0, 0, 0, 0, 0, -96, 0, -197, 0, -5, 0, 0, 0, 0, 0, 0, -126, 0,
0, 0, 0, -213, -215, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -325, -225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -239, -261, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, 0, 0, 0, -262, -271, -272, -282, 0, -162, 0, 0, 0, 0, 0, 0, -286,
0, 0, 0, 0, -301, -304, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, -322, -330, 0, 0, -202, 0, 0, 0, 0, 0, 0, -335,
0, 0, 0, 0, 0, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, -229, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, -128, -131,
-171, -179, 0, 0, 0, 0, 0, 0, 0, 0, -285, 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, 0, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -132, 0, 0, -184, 0, 0, 0, 0, 0, 0, 0, 0, -314, 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, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -211, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -177,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -135, 0, 0, 0, 0, 0, 0,
0, 0, 0, -98, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, -160, 0, -145, 0, 0, 0, 0, 0, -212, 0, 0, 0,
0, 0, 0, -231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, -214,
0, -224, -198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, -249, 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, 0, 0, 0, -47, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -92, 0, 0, 0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -332, 0, 0,
-34, -223, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -79, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, 0, 0, 0, 0,
-258, -293, -189, 0, 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -172, 0, -257, 0, 0, 0, 0, 0, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, 0, 0,
0, 0, -246, 0, 0, 0, -251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -167, -191, 0, 0, 0, -206, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, -48, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, -254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-291, 0, 0, -57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -323, 0, 0, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0, 0, 0,
0, 0, 0, -58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, 0, 0, 0,
0, -235, 0, 0, 0, 0, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -50, 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, 0, 0, 0, -308, 0, 0, -76, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0,
0, 0, -54, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, -326, -331, 0, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -210, 0, -129, 0, 0, 0, 0, 0, -216, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, 0, 0, 0,
-342, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -86, 0, -196, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -230, 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, 0, 0, 0, 0, 0, 0, -234, 0, 0, 0,
0, 0, 0, 0, 0, -247, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -268, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -340, 0, 0, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -345, 0, 0, -221, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -56, 0, 0, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -51, 0, 0, 0, 0, 0, 0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -42, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -91, 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -236, 0, 0, 0, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -7, 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, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10,
0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0,
-30, 0, 0, -38, 0, 0, 0, 0, -275, 0, 0, -43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-44, 0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, -77, 0, 0, 0, -209, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -188, 0, 0, 0, -238, 0, 0, 0, -14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, -89, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, 0, 0, 0, 0, 0, 0, 0, 0,
0, -217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -97, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0,
-180, 0, 0, 0, 0, -200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, 0, -292, 0, -276, 0, 0,
0, -175, 0, 0, 0, 0, -59, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146, -338, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, 0, 0, 0, 0, 0, 0, 0, -307, -327,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, 0, 0, 0, 0, -344, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 };
}
public final static short baseCheck[] = BaseCheck.baseCheck;
@Override
public final int baseCheck(int index) {
return baseCheck[index];
}
public final static short rhs[] = baseCheck;
@Override
public final int rhs(int index) {
return rhs[index];
}
public interface BaseAction {
public final static char baseAction[] = { 117, 7, 118, 41, 41, 24, 24, 50, 50, 26, 26, 1, 1, 2, 2, 2, 2, 3, 3,
3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 80, 80, 94, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 9, 9, 9, 9, 10, 10, 10,
11, 11, 11, 16, 16, 16, 16, 16, 17, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 27, 27, 27,
27, 27, 27, 27, 27, 27, 27, 27, 27, 34, 30, 25, 119, 119, 95, 95, 58, 35, 35, 35, 35, 35, 35, 35, 36,
36, 36, 29, 29, 96, 96, 71, 71, 37, 37, 38, 38, 38, 67, 67, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 66,
66, 31, 31, 31, 31, 31, 53, 53, 53, 103, 103, 98, 98, 98, 98, 99, 99, 99, 100, 100, 100, 101, 101, 101,
102, 102, 102, 97, 97, 85, 85, 86, 54, 56, 56, 56, 56, 56, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
73, 73, 84, 81, 81, 120, 121, 87, 87, 82, 82, 82, 88, 104, 104, 105, 105, 89, 89, 89, 60, 122, 122, 106,
90, 90, 90, 83, 83, 123, 107, 107, 108, 108, 91, 91, 32, 33, 33, 33, 55, 51, 51, 42, 42, 42, 42, 45, 45,
47, 43, 43, 44, 48, 48, 124, 124, 46, 143, 143, 125, 125, 52, 52, 52, 52, 52, 52, 52, 52, 52, 109, 61,
61, 61, 61, 49, 75, 75, 74, 74, 74, 76, 76, 69, 69, 126, 126, 79, 79, 77, 77, 77, 62, 62, 62, 63, 64,
64, 64, 65, 65, 65, 65, 68, 68, 57, 57, 59, 128, 127, 127, 127, 127, 110, 129, 130, 130, 131, 131, 132,
132, 144, 144, 145, 145, 146, 146, 146, 146, 148, 148, 147, 147, 147, 78, 133, 133, 12, 12, 12, 28, 28,
13, 13, 134, 134, 111, 111, 111, 112, 112, 135, 135, 113, 113, 14, 14, 136, 136, 114, 114, 114, 114, 15,
70, 137, 137, 138, 138, 115, 115, 115, 92, 92, 92, 6, 6, 16, 16, 23, 3, 36, 139, 116, 116, 116, 93, 93,
31, 66, 53, 86, 86, 86, 106, 106, 106, 123, 120, 121, 49, 88, 131, 131, 140, 141, 110, 71, 117, 117,
331, 913, 17, 21, 18, 482, 829, 560, 44, 503, 484, 521, 368, 315, 316, 317, 519, 685, 586, 717, 694,
827, 794, 74, 1851, 1380, 443, 91, 521, 901, 1429, 358, 135, 213, 672, 31, 1319, 179, 1647, 20, 17, 21,
18, 482, 42, 500, 44, 927, 368, 315, 316, 317, 388, 137, 134, 136, 160, 1647, 20, 17, 21, 18, 482, 42,
1872, 44, 503, 1084, 135, 213, 87, 398, 139, 166, 395, 950, 197, 629, 1635, 1279, 275, 143, 146, 149,
152, 645, 28, 1896, 1186, 137, 134, 136, 160, 361, 1825, 465, 451, 517, 2182, 2286, 2577, 2608, 2612,
1279, 787, 2731, 249, 462, 139, 166, 1156, 255, 213, 939, 787, 876, 2637, 143, 146, 149, 152, 104, 87,
1896, 719, 645, 22, 386, 25, 361, 753, 302, 89, 37, 2182, 2286, 2577, 2608, 2612, 1279, 1551, 20, 17,
21, 18, 482, 829, 412, 44, 503, 484, 521, 2637, 1371, 452, 293, 519, 685, 586, 717, 694, 827, 794, 74,
659, 381, 241, 281, 1445, 20, 17, 21, 18, 482, 829, 412, 44, 503, 484, 521, 908, 2920, 1469, 1905, 519,
685, 586, 717, 694, 827, 794, 74, 672, 31, 1685, 281, 294, 282, 38, 1186, 753, 1575, 20, 17, 21, 18,
482, 829, 287, 44, 503, 484, 521, 369, 414, 255, 213, 519, 685, 586, 717, 694, 827, 794, 74, 282, 1464,
1186, 281, 1647, 20, 17, 21, 18, 482, 42, 289, 44, 503, 484, 521, 322, 1295, 672, 187, 519, 685, 586,
717, 1185, 288, 1647, 20, 17, 21, 18, 482, 42, 282, 40, 1186, 1747, 1184, 398, 1658, 276, 1661, 418,
2951, 158, 1771, 1599, 20, 17, 21, 18, 482, 829, 290, 44, 503, 484, 521, 672, 186, 278, 24, 519, 685,
586, 717, 694, 827, 794, 74, 672, 1350, 444, 281, 1623, 20, 17, 21, 18, 482, 829, 543, 44, 503, 484,
521, 323, 1295, 313, 1428, 519, 685, 586, 717, 694, 827, 794, 74, 28, 301, 1186, 281, 312, 282, 541,
1186, 560, 1647, 20, 17, 21, 18, 482, 42, 384, 44, 503, 1102, 1397, 20, 17, 21, 18, 482, 829, 1290, 44,
503, 484, 521, 2162, 282, 783, 1186, 519, 685, 586, 717, 694, 827, 794, 74, 291, 1862, 1251, 513, 1743,
20, 17, 21, 18, 482, 829, 1722, 44, 503, 484, 521, 124, 239, 783, 210, 519, 685, 586, 717, 694, 827,
794, 74, 672, 188, 783, 331, 1647, 20, 17, 21, 18, 482, 829, 416, 44, 503, 484, 521, 123, 672, 873, 783,
519, 685, 586, 717, 694, 827, 794, 74, 111, 672, 296, 91, 1719, 20, 17, 21, 18, 482, 829, 1937, 44, 503,
484, 521, 888, 126, 1727, 645, 519, 685, 586, 717, 694, 827, 794, 74, 1281, 283, 554, 830, 1647, 20, 17,
21, 18, 482, 42, 1747, 44, 503, 484, 521, 739, 999, 2942, 348, 519, 685, 586, 717, 694, 827, 794, 93,
319, 315, 316, 317, 243, 329, 783, 231, 1647, 20, 17, 21, 18, 482, 42, 465, 44, 503, 484, 967, 1421, 20,
17, 21, 18, 482, 829, 2045, 44, 503, 484, 521, 122, 645, 1270, 1047, 519, 685, 586, 717, 694, 827, 794,
74, 672, 298, 1499, 900, 1743, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521, 1086, 240, 528, 783,
519, 685, 586, 717, 694, 827, 794, 74, 456, 1182, 242, 331, 1647, 20, 17, 21, 18, 482, 829, 560, 44,
503, 484, 521, 1922, 2989, 1333, 645, 519, 685, 586, 717, 694, 827, 794, 74, 49, 1182, 169, 92, 181,
254, 213, 19, 1647, 20, 17, 21, 18, 482, 829, 1268, 44, 503, 484, 521, 255, 213, 284, 1787, 519, 685,
586, 717, 694, 827, 794, 74, 244, 254, 213, 85, 1647, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521,
571, 128, 2890, 630, 519, 685, 586, 717, 694, 827, 794, 74, 1002, 330, 783, 84, 1647, 20, 17, 21, 18,
482, 829, 249, 44, 503, 484, 521, 955, 645, 1414, 783, 519, 685, 586, 717, 694, 827, 794, 74, 3001,
1065, 783, 83, 1647, 20, 17, 21, 18, 482, 829, 1330, 44, 503, 484, 521, 1920, 3010, 940, 1935, 519, 685,
586, 717, 694, 827, 794, 74, 342, 775, 245, 82, 1647, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521,
645, 194, 1572, 911, 519, 685, 586, 717, 694, 827, 794, 74, 520, 295, 783, 81, 1647, 20, 17, 21, 18,
482, 829, 1866, 44, 503, 484, 521, 645, 456, 968, 379, 519, 685, 586, 717, 694, 827, 794, 74, 117, 297,
474, 80, 1647, 20, 17, 21, 18, 482, 829, 249, 44, 503, 484, 521, 751, 456, 2945, 170, 519, 685, 586,
717, 694, 827, 794, 74, 807, 383, 969, 79, 1647, 20, 17, 21, 18, 482, 829, 180, 44, 503, 484, 521, 1147,
456, 836, 1308, 519, 685, 586, 717, 694, 827, 794, 74, 758, 334, 1513, 78, 1647, 20, 17, 21, 18, 482,
829, 712, 44, 503, 484, 521, 1121, 456, 1201, 1209, 519, 685, 586, 717, 694, 827, 794, 74, 1346, 1469,
995, 77, 1647, 20, 17, 21, 18, 482, 829, 204, 44, 503, 484, 521, 998, 1331, 1248, 1494, 519, 685, 586,
717, 694, 827, 794, 74, 1528, 905, 67, 76, 1647, 20, 17, 21, 18, 482, 829, 181, 44, 503, 484, 521, 1050,
1179, 1473, 811, 519, 685, 586, 717, 694, 827, 794, 74, 1319, 179, 1768, 75, 1671, 20, 17, 21, 18, 482,
354, 1182, 368, 315, 316, 317, 1781, 1534, 1647, 20, 17, 21, 18, 482, 829, 1309, 44, 503, 484, 521, 456,
1805, 135, 213, 519, 685, 586, 717, 694, 827, 794, 74, 228, 254, 213, 357, 1671, 20, 17, 21, 18, 482,
353, 138, 134, 136, 160, 1510, 1647, 20, 17, 21, 18, 482, 42, 1370, 44, 503, 484, 521, 1709, 1558, 140,
166, 519, 685, 586, 717, 694, 1183, 205, 144, 147, 150, 153, 560, 467, 1896, 346, 1582, 1853, 1602,
1757, 362, 1647, 20, 17, 21, 18, 482, 829, 1212, 44, 503, 484, 521, 1259, 1199, 1913, 417, 519, 685,
586, 717, 694, 827, 794, 74, 1230, 1097, 887, 73, 1647, 20, 17, 21, 18, 482, 829, 1606, 44, 503, 484,
521, 3218, 1125, 1350, 3218, 519, 685, 586, 717, 694, 827, 794, 74, 3218, 3218, 3218, 958, 1647, 20, 17,
21, 18, 482, 829, 3218, 44, 503, 484, 521, 3218, 3218, 3218, 3218, 519, 685, 586, 717, 694, 827, 794,
74, 3218, 937, 3218, 1044, 1647, 20, 17, 21, 18, 482, 42, 560, 44, 503, 484, 521, 560, 1857, 560, 560,
519, 685, 586, 717, 694, 827, 794, 93, 1647, 20, 17, 21, 18, 482, 42, 23, 44, 503, 484, 521, 273, 321,
279, 341, 519, 685, 586, 717, 694, 827, 794, 93, 209, 227, 3218, 1647, 20, 17, 21, 18, 482, 42, 360, 44,
503, 484, 521, 1870, 570, 1368, 560, 519, 685, 586, 717, 694, 827, 794, 93, 1647, 20, 17, 21, 18, 482,
42, 1071, 44, 503, 484, 521, 334, 3218, 3218, 654, 519, 685, 586, 717, 694, 827, 794, 93, 3218, 3218,
3218, 1647, 20, 17, 21, 18, 482, 42, 212, 44, 503, 484, 521, 560, 1125, 1350, 3218, 519, 685, 586, 717,
694, 827, 794, 93, 1647, 20, 17, 21, 18, 482, 42, 1099, 44, 503, 484, 521, 280, 3218, 3218, 1870, 519,
685, 586, 717, 694, 827, 794, 93, 3218, 3218, 3218, 1647, 20, 17, 21, 18, 482, 42, 202, 44, 503, 484,
521, 333, 3218, 3218, 1111, 519, 685, 586, 717, 694, 827, 794, 93, 335, 199, 1239, 319, 315, 316, 317,
1127, 388, 419, 20, 17, 21, 18, 482, 42, 666, 36, 1, 1239, 3218, 3218, 1598, 1696, 1875, 388, 86, 110,
3218, 209, 95, 905, 1650, 3218, 203, 785, 108, 94, 96, 97, 98, 99, 127, 86, 110, 1224, 1368, 95, 1923,
1650, 246, 1247, 785, 108, 94, 96, 97, 98, 99, 1847, 3218, 560, 989, 319, 315, 316, 317, 109, 105, 2816,
3218, 367, 106, 3218, 318, 315, 316, 317, 336, 385, 1838, 3218, 3218, 338, 109, 2371, 3218, 366, 367,
107, 2110, 3218, 319, 315, 316, 317, 385, 1652, 3218, 318, 315, 316, 317, 3218, 218, 1269, 221, 1454,
223, 224, 1349, 3218, 3218, 2361, 3218, 855, 1647, 20, 17, 21, 18, 482, 42, 1370, 44, 503, 484, 969,
1772, 219, 1269, 221, 1454, 223, 224, 229, 1240, 265, 1239, 274, 318, 315, 316, 317, 388, 3218, 345,
155, 1336, 269, 601, 416, 272, 3218, 133, 1239, 1714, 249, 666, 990, 3218, 388, 86, 110, 787, 1832, 95,
3218, 1650, 2013, 3218, 785, 108, 94, 96, 97, 98, 99, 3218, 86, 110, 3218, 87, 95, 127, 1650, 582, 473,
785, 108, 94, 96, 97, 98, 99, 1299, 3218, 3218, 989, 3218, 3218, 3218, 2211, 109, 314, 2839, 3218, 367,
106, 3218, 318, 315, 316, 317, 560, 385, 783, 3218, 3218, 277, 109, 899, 617, 249, 367, 107, 2110, 3218,
424, 2839, 787, 560, 385, 1788, 318, 315, 316, 317, 2387, 3218, 218, 1269, 221, 1454, 223, 224, 229,
274, 87, 2361, 2061, 756, 197, 1695, 1828, 2428, 666, 267, 601, 416, 272, 2789, 667, 1856, 218, 1269,
221, 1454, 223, 224, 229, 3218, 1469, 1397, 318, 315, 316, 317, 3218, 989, 3218, 1890, 195, 155, 1336,
560, 2839, 3218, 3218, 560, 1625, 318, 315, 316, 317, 990, 218, 1269, 221, 1454, 223, 224, 229, 1182,
249, 263, 274, 2110, 1832, 225, 193, 787, 2957, 320, 3218, 2370, 267, 601, 416, 272, 3218, 218, 1269,
221, 1454, 223, 224, 229, 198, 87, 2361, 264, 277, 560, 1848, 254, 213, 1647, 20, 17, 21, 18, 482, 42,
1074, 44, 503, 484, 971, 3218, 218, 1269, 221, 1454, 223, 224, 229, 340, 3218, 1919, 274, 3218, 827,
560, 156, 1336, 3218, 3218, 3218, 2839, 267, 601, 416, 272, 318, 315, 316, 317, 467, 1880, 261, 3218,
568, 3218, 3218, 1469, 3218, 339, 3218, 3218, 2061, 1647, 20, 17, 21, 18, 482, 42, 3218, 44, 503, 484,
1018, 1057, 218, 1269, 221, 1454, 223, 224, 229, 1896, 1401, 1397, 1647, 20, 17, 21, 18, 482, 42, 3218,
44, 503, 484, 521, 3218, 617, 3218, 3218, 519, 685, 586, 1155, 2839, 325, 560, 3218, 3218, 319, 315,
316, 317, 3218, 3218, 1647, 20, 17, 21, 18, 482, 42, 2957, 44, 503, 484, 521, 3218, 3218, 3218, 1113,
519, 685, 1158, 3218, 3218, 3218, 1037, 199, 218, 1269, 221, 1454, 223, 224, 229, 989, 3218, 1397, 318,
315, 316, 317, 2839, 560, 3218, 3218, 3218, 319, 315, 316, 317, 3218, 3218, 3218, 855, 1647, 20, 17, 21,
18, 482, 42, 3218, 44, 503, 484, 1027, 230, 219, 1269, 221, 1454, 223, 224, 1387, 1240, 2978, 218, 1269,
221, 1454, 223, 224, 229, 1037, 3218, 2947, 1470, 20, 17, 21, 18, 482, 42, 1934, 43, 318, 315, 316, 317,
1647, 20, 17, 21, 18, 482, 42, 1334, 44, 503, 484, 521, 855, 560, 560, 3218, 519, 1111, 234, 368, 315,
316, 317, 560, 3218, 3218, 219, 1269, 221, 1454, 223, 224, 229, 1240, 1021, 3218, 877, 2469, 351, 135,
213, 424, 1504, 424, 28, 3218, 1186, 2489, 318, 315, 316, 317, 593, 1239, 319, 315, 316, 317, 560, 787,
142, 134, 136, 160, 855, 1888, 3218, 1888, 419, 20, 17, 21, 18, 482, 42, 3218, 36, 86, 110, 141, 166,
95, 352, 3218, 3218, 1195, 785, 1267, 94, 96, 97, 98, 99, 641, 1239, 3218, 3218, 2554, 3218, 3218, 787,
3218, 3218, 260, 3218, 259, 3218, 3218, 3218, 247, 1471, 748, 1241, 689, 1239, 3218, 3218, 3218, 86,
110, 787, 3218, 95, 368, 315, 316, 317, 785, 103, 94, 96, 97, 98, 99, 803, 1239, 3218, 3218, 86, 110,
3218, 787, 95, 135, 213, 3218, 3218, 785, 101, 94, 96, 97, 98, 99, 851, 1239, 3218, 3218, 3218, 86, 110,
787, 3218, 95, 145, 134, 136, 160, 785, 359, 94, 96, 97, 98, 99, 3218, 3218, 3218, 3218, 86, 110, 3218,
3218, 95, 3218, 3218, 1881, 3218, 785, 102, 94, 96, 97, 98, 99, 1087, 965, 1239, 318, 315, 316, 317,
424, 787, 3218, 3218, 3218, 318, 315, 316, 317, 3218, 1013, 1239, 2736, 3218, 3218, 3218, 3218, 787,
3218, 86, 110, 855, 3218, 95, 1888, 3218, 3218, 3218, 785, 119, 94, 96, 97, 98, 99, 86, 110, 3218, 3218,
95, 3218, 3218, 1195, 3218, 785, 114, 94, 96, 97, 98, 99, 1061, 1239, 3218, 1721, 3218, 3218, 3218, 787,
3218, 3218, 3218, 259, 3218, 3218, 3218, 3218, 1471, 3218, 1241, 3218, 1175, 1239, 3218, 3218, 3218, 86,
110, 787, 3218, 95, 3218, 3218, 3218, 3218, 785, 1385, 94, 96, 97, 98, 99, 1223, 1239, 3218, 249, 86,
110, 3218, 787, 95, 3218, 787, 3218, 3218, 785, 113, 94, 96, 97, 98, 99, 1271, 1239, 3218, 1879, 3218,
86, 110, 787, 87, 95, 787, 3218, 3218, 1865, 785, 121, 94, 96, 97, 98, 99, 3218, 3218, 249, 3218, 86,
110, 3218, 87, 95, 787, 3218, 3218, 115, 785, 120, 94, 96, 97, 98, 99, 1647, 20, 17, 21, 18, 482, 42,
87, 44, 503, 484, 521, 2070, 3218, 3218, 3218, 1130, 1647, 20, 17, 21, 18, 482, 42, 713, 44, 503, 484,
521, 1029, 3218, 3218, 3218, 1141, 3218, 3218, 318, 315, 316, 317, 1647, 20, 17, 21, 18, 482, 42, 910,
44, 503, 484, 1056, 855, 3218, 3218, 3218, 3218, 3218, 3218, 368, 315, 316, 317, 1647, 20, 17, 21, 18,
482, 42, 3218, 44, 957, 1240, 3218, 3218, 274, 3218, 1120, 135, 213, 3218, 1767, 3218, 3218, 3218, 269,
601, 416, 272, 368, 315, 316, 317, 368, 315, 316, 317, 3218, 313, 148, 134, 136, 160, 3218, 3218, 2839,
1778, 3218, 3218, 135, 213, 3218, 3218, 135, 213, 3218, 3218, 3218, 368, 315, 316, 317, 1671, 20, 17,
21, 18, 482, 41, 3218, 151, 134, 136, 160, 154, 134, 136, 160, 135, 213, 218, 1269, 221, 1454, 223, 224,
229, 3218, 3218, 1919, 1647, 20, 17, 21, 18, 482, 42, 3218, 39, 363, 134, 136, 160, 1647, 20, 17, 21,
18, 482, 42, 3218, 38, 1647, 20, 17, 21, 18, 482, 42, 3218, 37, 1647, 20, 17, 21, 18, 482, 42, 3218, 36,
1647, 20, 17, 21, 18, 482, 42, 500, 35, 3218, 723, 3218, 3218, 3218, 388, 1893, 3218, 2785, 1647, 20,
17, 21, 18, 482, 42, 3218, 47, 319, 315, 316, 317, 3218, 87, 3218, 3218, 3218, 395, 950, 197, 1647, 20,
17, 21, 18, 482, 42, 3218, 46, 1647, 20, 17, 21, 18, 482, 42, 3218, 45, 3218, 3218, 500, 3218, 3218,
274, 3218, 551, 3218, 388, 2731, 551, 3218, 3218, 3218, 267, 601, 416, 272, 318, 315, 316, 317, 318,
315, 316, 317, 87, 3218, 1364, 266, 395, 950, 197, 423, 855, 3218, 3218, 551, 855, 3218, 388, 1671, 20,
17, 21, 18, 482, 34, 3218, 318, 315, 316, 317, 3218, 3218, 1195, 3218, 3218, 87, 1195, 551, 2731, 3218,
115, 1792, 855, 3218, 2554, 3218, 410, 3218, 1721, 318, 315, 316, 317, 3218, 3218, 3218, 3218, 1523,
318, 315, 316, 317, 3218, 1195, 3218, 855, 1671, 20, 17, 21, 18, 482, 33, 3218, 1685, 2101, 2492, 930,
508, 3218, 367, 3218, 3218, 3218, 3218, 3218, 1195, 3218, 737, 3218, 318, 315, 316, 317, 3218, 424,
3218, 3218, 2159, 1695, 20, 17, 21, 18, 482, 1197, 1685, 1695, 20, 17, 21, 18, 482, 364, 1249, 3218,
3218, 3218, 1321, 197, 3218, 3218, 3218, 1249, 3218, 3218, 318, 315, 316, 317, 318, 315, 316, 317, 631,
318, 315, 316, 317, 3218, 1295, 3218, 855, 1109, 3218, 1911, 2217, 424, 1890, 858, 424, 855, 3218, 3218,
360, 1949, 424, 318, 315, 316, 317, 787, 3218, 1066, 3218, 3218, 671, 318, 315, 316, 317, 1888, 1122,
3009, 197, 666, 1951, 192, 3218, 87, 1888, 3218, 787, 3030, 1169, 3218, 3218, 1879, 318, 315, 316, 317,
1128, 1855, 787, 3218, 3218, 3218, 3218, 1879, 87, 125, 3218, 1890, 3039, 802, 787, 1932, 1879, 259,
3218, 3218, 87, 3218, 2118, 787, 1241, 115, 259, 319, 315, 316, 317, 1571, 87, 1241, 3218, 3218, 1960,
115, 3218, 3218, 192, 87, 3218, 3218, 3218, 1965, 115, 1296, 319, 315, 316, 317, 3218, 3218, 3218, 1212,
1855, 319, 315, 316, 317, 3218, 1046, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 2169,
2188, 3218, 3218, 3218, 3218, 3218, 1167, 3218, 3218, 2198, 3218, 0, 495, 32, 0, 1791, 32, 0, 3226, 1,
0, 841, 129, 0, 856, 129, 0, 902, 129, 0, 841, 130, 0, 856, 130, 0, 902, 130, 0, 841, 131, 0, 856, 131,
0, 902, 131, 0, 841, 185, 0, 856, 185, 0, 902, 185, 0, 185, 189, 0, 841, 184, 0, 856, 184, 0, 902, 184,
0, 184, 189, 0, 841, 132, 0, 856, 132, 0, 902, 132, 0, 841, 133, 0, 856, 133, 0, 902, 133, 0, 20, 179,
0, 841, 366, 0, 856, 366, 0, 902, 366, 0, 1, 702, 0, 841, 378, 0, 856, 378, 0, 902, 378, 0, 1, 841, 0,
1, 856, 0, 1, 902, 0, 354, 364, 0, 841, 253, 0, 856, 253, 0, 902, 253, 0, 8, 10, 0, 1310, 118, 0, 1,
3444, 0, 1, 3455, 0, 112, 2448, 0 };
}
public final static char baseAction[] = BaseAction.baseAction;
@Override
public final int baseAction(int index) {
return baseAction[index];
}
public final static char lhs[] = baseAction;
@Override
public final int lhs(int index) {
return lhs[index];
}
public interface TermCheck {
public final static byte termCheck[] = { 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 0, 12, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 66, 67, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 66, 67, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
12, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 66,
67, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 66, 67, 0, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 1, 2, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 28, 0, 30, 31, 32, 33, 34, 0, 1, 2, 0, 4, 2, 6,
7, 8, 73, 74, 75, 76, 0, 78, 79, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 0, 2, 3,
3, 36, 6, 0, 36, 9, 10, 48, 12, 0, 1, 15, 16, 4, 5, 0, 7, 8, 0, 1, 2, 3, 0, 5, 6, 3, 4, 9, 10, 11, 12,
13, 36, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 49, 50, 50, 0, 27, 0, 73, 74, 75, 76, 0, 78, 79, 3,
9, 10, 0, 66, 67, 3, 69, 70, 71, 72, 73, 74, 75, 76, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 0, 77, 2, 3, 37, 0, 6, 86, 87, 9, 10, 50, 12, 0, 1, 15, 16, 4, 5, 14, 7,
8, 0, 1, 2, 0, 0, 5, 6, 80, 81, 9, 10, 11, 12, 13, 36, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 99, 0, 49,
50, 29, 73, 74, 75, 76, 0, 78, 79, 0, 4, 2, 36, 7, 8, 0, 66, 67, 3, 69, 70, 71, 72, 73, 74, 75, 76, 0,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 1, 2, 3, 37, 5, 6,
80, 81, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 27, 4, 29, 82, 7, 8, 83, 0,
35, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 3, 0, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 48, 0, 0, 27, 3, 29, 4, 0, 1, 7, 8, 35, 5, 49, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 0, 1, 2, 3, 27, 5, 6, 66, 67, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
0, 0, 2, 27, 4, 29, 6, 7, 8, 77, 0, 35, 2, 3, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 0, 3, 4, 5,
4, 7, 8, 7, 8, 0, 36, 13, 0, 4, 0, 1, 7, 8, 0, 0, 36, 37, 24, 25, 26, 6, 28, 29, 30, 31, 32, 33, 34, 24,
25, 26, 0, 28, 24, 30, 31, 32, 33, 34, 0, 9, 10, 3, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 0, 1, 2, 3, 0, 5, 6, 27, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1,
2, 27, 4, 29, 82, 7, 8, 0, 0, 35, 0, 3, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0,
48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 48, 0, 0, 27, 68, 29, 4, 6, 6, 7, 8, 35,
50, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 0, 3, 4, 5, 0, 7, 8, 0, 1, 0, 0, 13, 5, 4, 14, 11,
7, 8, 83, 9, 10, 14, 24, 25, 26, 68, 28, 29, 30, 31, 32, 33, 34, 24, 25, 26, 0, 28, 2, 30, 31, 32, 33,
34, 68, 0, 71, 72, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 1, 2, 3, 0, 5, 6,
84, 36, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 27, 4, 29, 0, 7, 8, 0, 0,
35, 2, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 27, 4, 29, 48, 7, 8, 48, 0, 35, 2, 0, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 66, 67, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
35, 0, 0, 27, 68, 29, 4, 6, 6, 7, 8, 35, 0, 1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 0, 3, 4, 5,
4, 7, 8, 7, 8, 0, 0, 13, 2, 4, 0, 1, 7, 8, 0, 5, 66, 67, 24, 25, 26, 0, 28, 29, 30, 31, 32, 33, 34, 24,
25, 26, 0, 28, 0, 30, 31, 32, 33, 34, 68, 0, 71, 72, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 0, 1, 2, 3, 0, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1,
0, 27, 2, 29, 6, 24, 25, 26, 0, 35, 2, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 48, 5, 6,
0, 84, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 27, 4, 29, 4, 7, 8, 7, 8, 35,
0, 48, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 1, 2, 3, 0, 5, 6, 48, 0, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 49, 27, 0, 29, 2, 3, 24, 25, 26, 35, 0, 0, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 0, 1, 0, 14, 4, 5, 4, 7, 8, 7, 8, 0, 0, 13, 0, 0, 36, 37, 6, 4, 6, 0, 7, 8, 24, 25, 26,
0, 28, 2, 30, 31, 32, 33, 34, 24, 25, 26, 98, 24, 25, 26, 0, 28, 68, 30, 31, 32, 33, 34, 0, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0, 1, 2,
3, 0, 5, 6, 71, 72, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 28, 5, 6, 0,
0, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 28, 5, 6, 0, 25, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 1, 2, 0, 77, 5, 6, 0, 49, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 0, 50, 2, 0, 77, 0, 1, 2, 3, 4, 0, 6, 7, 8, 4, 36, 0, 7, 8, 0, 1, 2, 3,
4, 49, 6, 7, 8, 0, 24, 25, 26, 27, 28, 0, 30, 31, 32, 33, 34, 0, 36, 37, 24, 25, 26, 27, 28, 14, 30, 31,
32, 33, 34, 14, 36, 37, 0, 1, 2, 0, 1, 5, 6, 0, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 0, 1, 2, 0, 69, 5, 6, 0, 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2,
0, 0, 5, 6, 0, 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 48, 69, 5, 6, 0,
49, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 49, 5, 6, 0, 0, 9, 10, 11,
12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 14, 5, 6, 48, 0, 9, 10, 11, 12, 13, 0, 15,
16, 17, 18, 19, 20, 21, 22, 23, 0, 1, 2, 0, 14, 5, 6, 0, 0, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
20, 21, 22, 23, 0, 1, 2, 0, 14, 5, 6, 0, 0, 9, 10, 11, 12, 13, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23,
0, 1, 2, 0, 0, 5, 6, 3, 0, 9, 10, 11, 12, 13, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 0, 0, 2, 4, 0,
1, 7, 8, 4, 5, 0, 7, 8, 0, 4, 2, 37, 7, 8, 0, 0, 0, 3, 24, 25, 26, 0, 28, 69, 30, 31, 32, 33, 34, 24,
25, 26, 0, 28, 2, 30, 31, 32, 33, 34, 0, 27, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 69, 2, 0, 1, 2,
3, 0, 1, 2, 3, 49, 0, 0, 1, 15, 16, 4, 5, 0, 7, 8, 0, 1, 0, 3, 0, 1, 0, 0, 2, 5, 0, 11, 2, 3, 36, 0, 1,
36, 37, 0, 5, 36, 37, 0, 1, 0, 3, 0, 0, 14, 49, 3, 0, 0, 0, 3, 3, 37, 4, 0, 36, 7, 8, 24, 25, 26, 0, 37,
70, 0, 4, 0, 3, 7, 8, 0, 0, 0, 0, 27, 37, 36, 0, 85, 0, 37, 0, 0, 4, 37, 37, 7, 8, 0, 70, 0, 3, 49, 0,
0, 14, 48, 24, 25, 26, 0, 37, 0, 0, 4, 3, 3, 7, 8, 0, 70, 0, 0, 49, 24, 25, 26, 0, 0, 0, 0, 4, 0, 4, 7,
8, 7, 8, 0, 0, 27, 0, 4, 0, 14, 7, 8, 4, 0, 37, 7, 8, 0, 14, 0, 0, 0, 0, 0, 0, 0, 49, 49, 0, 0, 0, 68,
0, 0, 0, 0, 0, 0, 0, 0, 77, 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,
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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 };
}
public final static byte termCheck[] = TermCheck.termCheck;
@Override
public final int termCheck(int index) {
return termCheck[index];
}
public interface TermAction {
public final static char termAction[] = { 0, 3218, 5235, 1, 1253, 3170, 5183, 1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213, 54, 64, 745, 843, 773, 1225, 2227,
1211, 800, 1223, 2977, 1214, 356, 2175, 3225, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 3203,
3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203,
3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203,
445, 720, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 445, 720, 3203, 3203, 3203, 3203,
3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3203, 3218, 5235, 1, 1253, 3170, 5183,
1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213,
355, 65, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 58, 2175, 3225, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, 3170, 5183, 1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213, 445, 720, 745, 843, 773, 1225, 2227, 1211, 800, 1223,
2977, 1214, 445, 720, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, 3170, 5183,
1, 1, 1, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3227, 1, 3318, 1, 1, 1, 1, 1, 1213,
286, 59, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 1, 3444, 2629, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 3218, 3229, 433, 3218, 902, 3230, 2712, 841, 856, 2703, 2694, 3234, 2721, 2901,
1472, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 3432, 3434, 3433, 3218, 3381, 1, 3382, 3380,
3435, 3383, 3379, 268, 3444, 1942, 270, 902, 649, 253, 841, 856, 2570, 2130, 2025, 1971, 61, 1750, 875,
3386, 3391, 3390, 3388, 3389, 3387, 3392, 3393, 3385, 3394, 3395, 3396, 1762, 2880, 2848, 1, 1, 3230,
3230, 3086, 731, 3230, 3218, 731, 3230, 3230, 2, 3230, 185, 3125, 3230, 3230, 3122, 3125, 72, 3116,
3119, 3218, 3229, 433, 3222, 1, 3230, 2712, 116, 3170, 2703, 2694, 3234, 2721, 1283, 3230, 2868, 2820,
2653, 3231, 3232, 3233, 2681, 639, 1325, 3218, 62, 3218, 3230, 3230, 3225, 3218, 116, 51, 2570, 2130,
2025, 1971, 3218, 1750, 875, 3226, 2593, 426, 1, 3230, 3230, 90, 3230, 3230, 3230, 3230, 3230, 3230,
3230, 3230, 60, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230,
3230, 3230, 3230, 3230, 3230, 3230, 1, 3221, 3229, 3229, 90, 1, 3229, 1337, 2956, 3229, 3229, 3225,
3229, 184, 3137, 3229, 3229, 3134, 3137, 459, 3128, 3131, 3218, 1, 1, 63, 271, 1, 1, 2547, 2530, 1, 1,
1, 1, 1, 3229, 1, 1, 1, 1, 1, 1, 1, 1, 1, 66, 3079, 68, 3229, 3229, 3605, 2570, 2130, 2025, 1971, 253,
1750, 875, 3218, 902, 1470, 731, 841, 856, 3218, 3229, 3229, 3224, 3229, 3229, 3229, 3229, 3229, 3229,
3229, 3229, 3218, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 3229,
3229, 3229, 3229, 3229, 3229, 3229, 3218, 5235, 1, 3228, 3223, 5183, 1, 2547, 2530, 1, 1, 1, 1, 1, 459,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3444, 2629, 3227, 3188, 3318, 2079, 3182, 3185, 2048, 3218, 1213, 88, 57,
745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 3218, 5183, 1, 3222, 3218,
1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1559, 1, 182, 3227, 3228, 3318, 902, 3218, 3229, 841,
856, 1213, 3230, 943, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 3227,
5183, 1, 445, 720, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 268, 3218, 1829, 3227, 902, 3318, 253,
841, 856, 3221, 1, 1213, 1829, 265, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 1,
378, 191, 1, 1, 3179, 1, 1, 3173, 3176, 130, 731, 1, 67, 3104, 326, 3545, 3098, 3101, 3218, 3218, 731,
265, 1, 1, 1, 2916, 1, 3414, 1, 1, 1, 1, 1, 3432, 3434, 3433, 53, 3381, 3546, 3382, 3380, 3435, 3383,
3379, 3218, 2593, 426, 3228, 191, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228,
3218, 5183, 1, 3227, 3218, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3444, 2629, 3227, 3188,
3318, 2079, 3182, 3185, 69, 285, 1213, 3218, 494, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977,
1214, 3218, 5235, 1, 3228, 1297, 5183, 1, 1, 2329, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1559,
48, 1, 3227, 1457, 3318, 3188, 2769, 253, 3182, 3185, 1213, 494, 70, 745, 843, 773, 1225, 2227, 1211,
800, 1223, 2977, 1214, 3218, 1, 3218, 190, 1, 1, 349, 1, 1, 3218, 3229, 131, 52, 1, 3230, 3113, 4442,
1369, 3107, 3110, 2048, 2593, 426, 1010, 1, 1, 1, 3476, 1, 3414, 1, 1, 1, 1, 1, 3432, 3434, 3433, 222,
3381, 850, 3382, 3380, 3435, 3383, 3379, 3476, 3218, 2760, 2739, 190, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3218, 5235, 1, 3228, 3218, 5183, 1, 617, 731, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 3444, 2629, 3227, 3188, 3318, 3218, 3182, 3185, 3218, 3218, 1213, 1520, 56, 745, 843, 773, 1225,
2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 1373, 5183, 1, 3218, 1, 1, 1, 1, 1, 1, 459, 1,
1, 1, 1, 1, 1, 1, 1, 1, 253, 3444, 2629, 3227, 902, 3318, 2268, 841, 856, 2288, 3218, 1213, 1196, 118,
745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1, 3228, 55, 5183, 1, 445, 720, 1,
1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3206, 50, 1, 3227, 3475, 3318, 3188, 2769, 253, 3182, 3185,
1213, 3218, 2233, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 1, 376, 191, 1, 1, 902,
1, 1, 841, 856, 132, 3218, 1, 2812, 3146, 208, 3229, 3140, 3143, 3218, 3230, 445, 720, 1, 1, 1, 3218, 1,
3414, 1, 1, 1, 1, 1, 3432, 3434, 3433, 71, 3381, 3218, 3382, 3380, 3435, 3383, 3379, 3476, 3218, 2760,
2739, 191, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 5235, 1, 3228, 3218, 5183, 1, 3218, 3218,
1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3218, 2189, 3218, 3227, 1857, 3318, 1398, 3432, 3434,
3433, 3218, 1213, 1938, 3218, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977, 1214, 3218, 5235, 1,
3228, 2309, 5183, 1, 201, 617, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 379, 256, 253, 3227, 902,
3318, 3200, 841, 856, 3194, 3197, 1213, 112, 3600, 745, 843, 773, 1225, 2227, 1211, 800, 1223, 2977,
1214, 3218, 5235, 1, 3228, 3218, 5183, 1, 1610, 248, 1, 1, 1, 1, 1, 459, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3212, 2209, 3227, 1, 3318, 1829, 3224, 3432, 3434, 3433, 1213, 3218, 3218, 745, 843, 773, 1225, 2227,
1211, 800, 1223, 2977, 1214, 3218, 3229, 183, 922, 902, 3230, 902, 841, 856, 841, 856, 249, 3218, 2909,
49, 129, 731, 3223, 2925, 3095, 2769, 3218, 3089, 3092, 3432, 3434, 3433, 3218, 3381, 2472, 3382, 3380,
3435, 3383, 3379, 1, 1, 1, 3215, 3432, 3434, 3433, 3218, 3381, 3476, 3382, 3380, 3435, 3383, 3379, 3218,
3386, 3391, 3390, 3388, 3389, 3387, 3392, 3393, 3385, 3394, 3395, 3396, 1762, 2880, 2848, 3386, 3391,
3390, 3388, 3389, 3387, 3392, 3393, 3385, 3394, 3395, 3396, 1, 3229, 433, 3222, 3218, 3230, 1643, 2760,
2739, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 3218,
3229, 433, 3222, 815, 3230, 2243, 344, 30, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231,
3232, 3233, 2681, 639, 1325, 1, 4100, 433, 29, 1429, 4002, 2712, 3218, 3561, 2703, 2694, 3234, 2721,
1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 30, 3218, 3229, 433, 220, 3221, 3230,
2712, 3218, 556, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639,
1325, 337, 29, 1693, 3218, 3221, 20, 179, 3158, 3158, 179, 377, 3158, 179, 179, 902, 731, 157, 841, 856,
354, 364, 364, 3191, 364, 3247, 3191, 364, 364, 3218, 179, 179, 179, 3158, 179, 3218, 179, 179, 179,
179, 179, 3218, 3158, 3158, 364, 364, 364, 3191, 364, 1094, 364, 364, 364, 364, 364, 1150, 364, 3191, 1,
4100, 433, 207, 683, 4002, 2712, 211, 683, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, 3231,
3232, 3233, 2681, 639, 1325, 3218, 3229, 433, 1, 589, 3230, 2712, 207, 3218, 2703, 2694, 3234, 2721,
1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 380, 3229, 433, 347, 3218, 3230, 2712,
3218, 3456, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325,
3218, 3229, 433, 3230, 1508, 3230, 2712, 1, 5159, 2703, 2694, 3234, 2721, 1283, 4442, 2868, 2820, 2653,
3231, 3232, 3233, 2681, 639, 1325, 3218, 3229, 433, 3218, 766, 3230, 2712, 3218, 3218, 2703, 2694, 3234,
2721, 1283, 365, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 3218, 3229, 2728, 3218, 4442,
3230, 2712, 3229, 3218, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, 3232, 3233, 2681,
639, 1325, 3218, 3229, 2780, 3218, 651, 3230, 2712, 3218, 3218, 2703, 2694, 3234, 2721, 1283, 229, 2868,
2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 1, 3229, 433, 3218, 232, 3230, 2712, 3218, 42, 2703,
2694, 3234, 2721, 1283, 1369, 2868, 2820, 2653, 3231, 3232, 3233, 2681, 639, 1325, 332, 3229, 433, 3218,
1, 3230, 2712, 3224, 3218, 2703, 2694, 3234, 2721, 1283, 3218, 2868, 2820, 2653, 3231, 3232, 3233, 2681,
639, 1325, 133, 3218, 3218, 1665, 3155, 206, 5557, 3149, 3152, 902, 5557, 366, 841, 856, 324, 3167, 759,
3223, 3161, 3164, 3218, 3218, 3218, 3228, 3432, 3434, 3433, 3218, 3381, 1255, 3382, 3380, 3435, 3383,
3379, 3432, 3434, 3433, 3218, 3381, 2512, 3382, 3380, 3435, 3383, 3379, 3218, 3227, 1227, 1199, 1171,
1143, 1115, 1059, 1087, 1031, 1003, 975, 32, 687, 3080, 1, 3444, 1942, 262, 1, 3209, 1942, 3224, 1913,
3218, 375, 5566, 3244, 3245, 902, 5566, 3218, 841, 856, 3218, 1997, 3218, 3224, 3218, 3229, 350, 3218,
1386, 3230, 3218, 1967, 518, 3224, 3083, 3218, 3229, 731, 262, 250, 3230, 731, 3223, 3218, 1242, 292,
3224, 3218, 3218, 1038, 262, 3224, 1, 3218, 159, 116, 3224, 3223, 902, 3218, 1481, 841, 856, 1, 1, 1,
370, 3223, 580, 3218, 902, 3218, 3224, 841, 856, 3218, 3218, 3218, 251, 116, 3223, 1532, 3218, 422, 369,
3223, 229, 3218, 902, 116, 3223, 841, 856, 3218, 812, 252, 3222, 588, 3218, 3218, 233, 1252, 3432, 3434,
3433, 371, 3223, 3218, 3218, 902, 3224, 3228, 841, 856, 3218, 911, 3218, 3218, 915, 3432, 3434, 3433,
200, 3218, 372, 189, 902, 3218, 902, 841, 856, 841, 856, 373, 379, 3227, 3218, 902, 374, 206, 841, 856,
902, 3218, 3223, 841, 856, 3218, 375, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 1408, 1996, 3218, 3218,
3218, 1583, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3218, 3221 };
}
public final static char termAction[] = TermAction.termAction;
@Override
public final int termAction(int index) {
return termAction[index];
}
public interface Asb {
public final static char asb[] = { 0, 123, 1, 31, 54, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 62, 3, 289,
286, 293, 291, 301, 299, 303, 302, 305, 304, 275, 31, 3, 430, 430, 254, 31, 272, 272, 272, 114, 387,
371, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 618, 31, 31, 31, 31, 31,
31, 31, 31, 31, 31, 31, 31, 31, 272, 272, 250, 153, 118, 228, 473, 174, 173, 517, 549, 549, 549, 529,
510, 529, 510, 510, 529, 510, 529, 67, 529, 402, 31, 372, 286, 286, 291, 291, 291, 291, 291, 291, 289,
289, 299, 293, 293, 302, 301, 200, 200, 304, 303, 171, 351, 171, 114, 121, 109, 28, 250, 506, 232, 272,
551, 476, 365, 271, 616, 169, 510, 430, 427, 430, 169, 430, 510, 31, 71, 3, 371, 597, 317, 317, 430,
549, 549, 584, 549, 549, 317, 200, 31, 200, 225, 542, 31, 31, 351, 151, 121, 109, 506, 250, 231, 228,
272, 112, 402, 452, 478, 143, 271, 364, 272, 440, 320, 171, 354, 272, 369, 317, 317, 385, 31, 370, 31,
31, 584, 200, 433, 584, 549, 544, 151, 109, 109, 31, 31, 250, 232, 473, 457, 456, 118, 478, 272, 452,
451, 270, 171, 440, 320, 354, 354, 179, 597, 317, 542, 272, 549, 272, 272, 584, 31, 584, 468, 171, 316,
460, 544, 544, 463, 118, 436, 356, 220, 109, 506, 250, 250, 272, 551, 476, 112, 143, 272, 253, 272, 272,
320, 351, 541, 320, 354, 356, 445, 356, 317, 597, 544, 584, 31, 584, 584, 58, 450, 57, 371, 544, 460,
460, 118, 153, 544, 351, 149, 466, 202, 430, 31, 200, 50, 506, 109, 478, 452, 320, 194, 356, 351, 31,
430, 254, 317, 272, 370, 468, 317, 47, 616, 372, 460, 544, 436, 62, 153, 360, 430, 31, 109, 272, 452,
253, 351, 316, 31, 312, 194, 313, 351, 272, 254, 317, 584, 431, 272, 371, 31, 250, 431, 194, 31, 313,
313, 584, 272, 272, 250, 313, 584 };
}
public final static char asb[] = Asb.asb;
@Override
public final int asb(int index) {
return asb[index];
}
public interface Asr {
public final static byte asr[] = { 0, 99, 0, 30, 51, 52, 63, 31, 53, 32, 54, 55, 33, 56, 57, 28, 64, 34, 65, 58,
59, 60, 61, 62, 7, 8, 4, 14, 24, 26, 25, 2, 18, 19, 20, 11, 5, 15, 16, 12, 9, 10, 21, 22, 17, 23, 13, 1,
6, 0, 69, 36, 70, 0, 77, 27, 99, 49, 37, 3, 48, 0, 48, 68, 77, 50, 99, 70, 85, 15, 16, 33, 28, 34, 32,
31, 30, 12, 9, 10, 71, 72, 66, 67, 73, 74, 75, 76, 80, 81, 82, 83, 84, 86, 87, 69, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 78, 79, 27, 24, 26, 25, 49, 1, 3, 37, 2, 36, 4, 8, 7, 6, 0, 17, 18, 19, 20, 11, 1,
5, 2, 15, 16, 12, 6, 9, 10, 21, 22, 13, 23, 29, 0, 3, 49, 37, 1, 24, 0, 3, 50, 36, 70, 15, 16, 12, 6, 9,
10, 21, 22, 17, 23, 13, 2, 18, 19, 20, 11, 1, 5, 14, 0, 2, 3, 49, 37, 36, 0, 30, 24, 31, 32, 33, 26, 28,
34, 25, 3, 36, 49, 37, 27, 14, 6, 1, 2, 4, 8, 7, 48, 0, 69, 15, 16, 12, 6, 9, 10, 21, 22, 17, 23, 13, 2,
18, 19, 20, 11, 14, 1, 5, 36, 70, 0, 2, 25, 0, 24, 26, 25, 28, 15, 16, 12, 6, 9, 10, 21, 22, 17, 23, 13,
2, 1, 5, 18, 19, 20, 11, 77, 3, 0, 49, 17, 18, 19, 20, 5, 2, 15, 16, 12, 6, 9, 10, 21, 22, 13, 23, 11,
1, 37, 3, 0, 69, 88, 89, 90, 91, 92, 94, 93, 95, 96, 97, 6, 71, 72, 9, 10, 67, 66, 73, 74, 75, 76, 78,
79, 80, 81, 12, 82, 83, 84, 68, 77, 37, 50, 99, 86, 87, 48, 4, 8, 7, 49, 27, 3, 0, 30, 51, 24, 52, 63,
31, 53, 32, 54, 55, 33, 26, 56, 57, 28, 64, 34, 65, 58, 59, 25, 60, 61, 62, 1, 5, 13, 7, 8, 4, 29, 3,
50, 0, 1, 5, 3, 50, 49, 0, 77, 3, 68, 0, 1, 37, 3, 2, 0, 37, 98, 50, 39, 41, 14, 45, 47, 42, 35, 43, 44,
40, 38, 46, 29, 3, 27, 2, 18, 19, 20, 11, 15, 16, 12, 6, 9, 10, 21, 22, 17, 23, 13, 63, 64, 65, 59, 51,
56, 54, 55, 53, 52, 57, 58, 60, 61, 62, 34, 31, 28, 30, 33, 24, 26, 25, 32, 4, 8, 7, 5, 1, 0, 48, 68, 0,
3, 69, 49, 27, 14, 4, 8, 7, 0, 3, 49, 50, 69, 0, 48, 2, 3, 37, 49, 0, 2, 48, 37, 36, 4, 8, 7, 3, 49, 27,
69, 0, 3, 48, 37, 11, 0, 6, 2, 36, 37, 3, 30, 51, 52, 63, 31, 53, 32, 54, 55, 33, 56, 57, 28, 64, 34,
65, 58, 59, 60, 61, 62, 1, 5, 13, 7, 8, 4, 68, 24, 26, 25, 0, 1, 5, 14, 4, 8, 7, 0, 59, 51, 56, 54, 55,
53, 52, 57, 58, 60, 61, 62, 36, 49, 37, 34, 31, 28, 30, 33, 24, 26, 25, 32, 48, 27, 3, 6, 1, 7, 8, 4, 2,
0, 6, 30, 51, 24, 52, 63, 31, 53, 32, 54, 55, 33, 26, 56, 57, 28, 64, 34, 65, 58, 59, 25, 60, 61, 62, 1,
5, 13, 68, 4, 8, 7, 0, 39, 41, 14, 45, 47, 42, 35, 43, 44, 40, 38, 46, 29, 17, 18, 19, 20, 1, 5, 2, 15,
16, 12, 6, 9, 10, 21, 22, 13, 23, 27, 3, 11, 0, 17, 18, 19, 20, 11, 1, 5, 2, 15, 16, 12, 6, 9, 10, 21,
22, 13, 23, 48, 0 };
}
public final static byte asr[] = Asr.asr;
@Override
public final int asr(int index) {
return asr[index];
}
public interface Nasb {
public final static char nasb[] = { 0, 40, 27, 51, 27, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 27, 28, 27,
27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 51, 28, 17, 17, 43, 30, 87, 87, 87, 117, 1, 35, 51, 51, 51, 51,
51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 173, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 87, 87, 64, 142, 148, 62, 116, 13, 13, 78, 27, 27, 27, 79, 114, 79, 114, 114, 79, 114, 79, 27,
79, 72, 51, 89, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 143, 135,
27, 156, 27, 140, 66, 64, 81, 63, 87, 146, 55, 87, 83, 27, 8, 140, 8, 140, 8, 8, 8, 140, 51, 27, 28, 95,
177, 179, 179, 8, 27, 27, 151, 27, 27, 179, 27, 69, 27, 58, 178, 51, 51, 36, 135, 27, 114, 81, 64, 63,
38, 87, 131, 19, 27, 99, 46, 86, 27, 87, 114, 135, 27, 135, 87, 27, 179, 179, 160, 30, 27, 30, 30, 151,
27, 27, 151, 27, 104, 49, 114, 135, 51, 51, 64, 63, 130, 13, 13, 148, 99, 87, 87, 27, 87, 27, 140, 165,
135, 8, 143, 162, 179, 178, 87, 27, 87, 87, 151, 51, 151, 102, 53, 179, 114, 137, 133, 27, 148, 27, 15,
10, 135, 81, 64, 64, 87, 146, 55, 110, 46, 87, 51, 87, 87, 135, 36, 178, 126, 8, 15, 27, 27, 179, 162,
121, 151, 30, 151, 151, 87, 27, 27, 35, 121, 140, 114, 148, 50, 105, 36, 48, 27, 50, 8, 51, 27, 33, 81,
38, 169, 87, 165, 121, 15, 36, 51, 8, 162, 179, 87, 27, 102, 179, 27, 102, 89, 140, 112, 27, 60, 50, 64,
8, 51, 38, 87, 87, 51, 36, 179, 51, 27, 137, 114, 36, 87, 162, 179, 151, 27, 87, 95, 51, 64, 27, 121,
51, 114, 140, 151, 87, 87, 64, 140, 151 };
}
public final static char nasb[] = Nasb.nasb;
@Override
public final int nasb(int index) {
return nasb[index];
}
public interface Nasr {
public final static char nasr[] = { 0, 103, 116, 101, 100, 87, 99, 98, 1, 0, 1, 140, 0, 52, 0, 80, 0, 94, 0,
103, 116, 102, 101, 100, 87, 99, 98, 0, 60, 29, 7, 30, 0, 132, 0, 7, 50, 0, 32, 0, 7, 117, 0, 7, 119, 0,
112, 0, 110, 7, 59, 5, 0, 133, 0, 24, 7, 0, 137, 0, 128, 0, 7, 5, 41, 0, 5, 7, 0, 5, 139, 0, 87, 81, 82,
83, 84, 93, 72, 53, 0, 75, 0, 136, 24, 0, 114, 24, 0, 31, 7, 1, 34, 96, 0, 34, 1, 50, 71, 7, 31, 0, 92,
0, 7, 28, 45, 43, 48, 0, 64, 63, 45, 43, 28, 0, 24, 63, 64, 7, 0, 7, 45, 43, 28, 0, 7, 60, 89, 0, 24,
64, 63, 43, 45, 7, 0, 43, 45, 7, 12, 0, 5, 59, 57, 0, 7, 31, 28, 61, 0, 1, 34, 7, 35, 0, 64, 63, 28, 0,
31, 66, 7, 67, 0, 105, 7, 60, 0, 125, 7, 31, 0, 7, 30, 118, 0, 30, 7, 26, 0 };
}
public final static char nasr[] = Nasr.nasr;
@Override
public final int nasr(int index) {
return nasr[index];
}
public interface TerminalIndex {
public final static char terminalIndex[] = { 0, 87, 2, 89, 99, 88, 9, 97, 98, 10, 11, 86, 8, 95, 3, 6, 7, 70,
83, 84, 85, 12, 13, 96, 50, 78, 66, 94, 71, 100, 46, 57, 62, 65, 74, 79, 1, 92, 47, 48, 51, 52, 53, 59,
60, 61, 67, 73, 29, 42, 93, 49, 54, 58, 63, 64, 68, 69, 76, 77, 80, 81, 82, 56, 72, 75, 16, 17, 30, 31,
4, 14, 15, 18, 19, 20, 21, 91, 43, 44, 22, 23, 24, 25, 26, 5, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 55, 101, 90 };
}
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@Override
public final int terminalIndex(int index) {
return terminalIndex[index];
}
public interface NonterminalIndex {
public final static char nonterminalIndex[] = { 0, 107, 0, 0, 0, 109, 113, 0, 114, 115, 116, 117, 186, 0, 0, 0,
118, 119, 120, 121, 122, 123, 124, 0, 104, 0, 106, 125, 187, 130, 108, 134, 142, 0, 126, 129, 0, 0, 0,
0, 0, 103, 162, 164, 0, 165, 0, 0, 167, 0, 105, 152, 166, 141, 0, 0, 0, 112, 128, 0, 156, 163, 177, 178,
179, 0, 133, 0, 151, 174, 0, 132, 144, 0, 168, 172, 173, 176, 0, 111, 0, 145, 146, 147, 148, 149, 150,
153, 0, 155, 159, 161, 191, 194, 110, 127, 131, 135, 136, 137, 138, 139, 140, 143, 0, 154, 158, 0, 160,
171, 181, 0, 188, 0, 190, 0, 193, 102, 0, 0, 0, 0, 157, 0, 169, 170, 175, 180, 0, 182, 183, 0, 184, 185,
0, 0, 189, 0, 0, 192, 195, 0, 0, 0, 0, 0, 0, 0, 0 };
}
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@Override
public final int nonterminalIndex(int index) {
return nonterminalIndex[index];
}
public interface ScopePrefix {
public final static char scopePrefix[] = { 198, 254, 330, 216, 310, 121, 147, 153, 282, 95, 359, 381, 338, 1,
104, 137, 163, 183, 63, 262, 320, 35, 59, 71, 77, 109, 159, 233, 298, 71, 420, 424, 355, 377, 390, 404,
390, 344, 15, 27, 56, 8, 8, 113, 116, 168, 116, 193, 116, 243, 248, 251, 307, 428, 50, 83, 89, 129, 237,
83, 401, 411, 411, 8, 129, 272, 206, 368, 206, 272, 20, 20, 41, 229, 41, 41, 41, 41, 41, 305, 399, 20,
20, 45, 142, 171, 142, 171, 171 };
}
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@Override
public final int scopePrefix(int index) {
return scopePrefix[index];
}
public interface ScopeSuffix {
public final static char scopeSuffix[] = { 75, 75, 317, 75, 317, 127, 6, 6, 75, 101, 365, 387, 325, 6, 39, 127,
6, 39, 68, 267, 325, 39, 39, 75, 81, 39, 6, 231, 231, 75, 39, 6, 317, 317, 317, 408, 394, 348, 18, 18,
39, 6, 6, 39, 119, 6, 178, 39, 196, 246, 246, 246, 231, 39, 53, 86, 92, 144, 240, 302, 53, 414, 417, 11,
132, 267, 223, 371, 209, 275, 25, 33, 43, 231, 288, 290, 292, 294, 296, 231, 231, 22, 30, 47, 144, 180,
132, 173, 188 };
}
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@Override
public final int scopeSuffix(int index) {
return scopeSuffix[index];
}
public interface ScopeLhs {
public final static char scopeLhs[] = { 83, 81, 39, 83, 39, 61, 52, 52, 81, 57, 39, 38, 39, 141, 65, 61, 52, 48,
13, 81, 39, 93, 111, 133, 78, 65, 52, 89, 66, 29, 5, 5, 39, 38, 38, 23, 38, 39, 106, 86, 3, 132, 131,
63, 77, 52, 124, 45, 51, 82, 82, 82, 40, 3, 36, 78, 110, 61, 89, 66, 36, 8, 5, 141, 61, 81, 83, 39, 83,
81, 106, 86, 116, 89, 102, 101, 100, 99, 98, 66, 37, 106, 86, 139, 61, 48, 61, 46, 48 };
}
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@Override
public final int scopeLhs(int index) {
return scopeLhs[index];
}
public interface ScopeLa {
public final static byte scopeLa[] = { 50, 50, 37, 50, 37, 24, 77, 77, 50, 50, 37, 98, 27, 77, 37, 24, 77, 37,
37, 14, 27, 37, 37, 50, 14, 37, 77, 27, 27, 50, 37, 77, 37, 37, 37, 48, 37, 27, 7, 7, 37, 77, 77, 37, 2,
77, 1, 37, 1, 1, 1, 1, 27, 37, 48, 1, 69, 6, 1, 1, 48, 37, 37, 68, 6, 14, 14, 35, 1, 1, 1, 1, 13, 27, 1,
63, 64, 64, 59, 27, 27, 1, 1, 68, 6, 2, 6, 2, 2 };
}
public final static byte scopeLa[] = ScopeLa.scopeLa;
@Override
public final int scopeLa(int index) {
return scopeLa[index];
}
public interface ScopeStateSet {
public final static char scopeStateSet[] = { 48, 48, 113, 48, 113, 92, 99, 99, 48, 39, 113, 113, 113, 6, 103,
92, 99, 17, 52, 48, 113, 48, 14, 8, 124, 103, 99, 10, 33, 110, 129, 129, 113, 113, 113, 165, 113, 113,
1, 27, 129, 4, 6, 103, 105, 99, 29, 17, 20, 48, 48, 48, 113, 129, 113, 124, 199, 92, 10, 33, 113, 136,
129, 6, 92, 48, 48, 113, 48, 48, 1, 27, 49, 10, 49, 49, 49, 49, 49, 33, 113, 1, 27, 31, 92, 17, 92, 17,
17 };
}
public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
@Override
public final int scopeStateSet(int index) {
return scopeStateSet[index];
}
public interface ScopeRhs {
public final static char scopeRhs[] = { 0, 158, 68, 158, 36, 0, 103, 0, 158, 36, 0, 30, 128, 103, 0, 190, 128,
0, 187, 0, 128, 0, 159, 187, 0, 159, 0, 151, 128, 0, 152, 187, 0, 152, 0, 179, 2, 13, 0, 104, 0, 203, 0,
194, 0, 158, 0, 30, 128, 0, 239, 39, 0, 29, 129, 0, 129, 2, 0, 235, 2, 212, 0, 234, 2, 2, 7, 0, 104,
104, 0, 196, 107, 14, 0, 105, 0, 224, 107, 131, 0, 185, 0, 107, 131, 0, 169, 185, 0, 229, 107, 0, 31,
151, 0, 180, 227, 107, 14, 159, 0, 105, 0, 0, 174, 107, 2, 163, 0, 174, 107, 2, 0, 177, 2, 0, 161, 107,
0, 177, 0, 107, 149, 6, 149, 161, 0, 172, 0, 149, 161, 0, 9, 0, 0, 172, 0, 107, 149, 6, 149, 0, 149, 0,
9, 0, 0, 127, 28, 209, 107, 36, 0, 127, 209, 107, 28, 36, 0, 127, 28, 36, 0, 127, 209, 107, 36, 0, 127,
36, 0, 145, 0, 2, 0, 170, 104, 0, 167, 0, 2, 104, 0, 174, 107, 2, 145, 0, 2, 0, 168, 104, 0, 151, 2, 0,
162, 0, 180, 207, 107, 14, 101, 223, 63, 0, 223, 63, 0, 107, 3, 0, 0, 0, 105, 0, 180, 207, 107, 14, 223,
63, 0, 3, 0, 0, 0, 105, 0, 160, 0, 106, 0, 222, 107, 160, 0, 107, 160, 0, 157, 106, 0, 188, 63, 0, 107,
0, 188, 65, 0, 188, 64, 0, 204, 107, 14, 221, 101, 220, 187, 0, 221, 101, 220, 187, 0, 3, 0, 0, 105, 0,
220, 187, 0, 107, 0, 3, 0, 0, 105, 0, 204, 107, 14, 220, 187, 0, 148, 0, 147, 0, 146, 0, 145, 0, 144, 0,
197, 107, 131, 0, 135, 106, 0, 131, 0, 130, 46, 0, 167, 126, 167, 166, 2, 43, 0, 104, 129, 0, 167, 166,
2, 43, 0, 106, 0, 104, 129, 0, 167, 126, 167, 126, 167, 2, 43, 0, 167, 126, 167, 2, 43, 0, 167, 2, 43,
0, 106, 0, 106, 0, 104, 129, 0, 130, 2, 35, 0, 130, 2, 35, 135, 42, 0, 104, 106, 0, 135, 42, 0, 79, 2,
108, 104, 106, 0, 130, 2, 47, 0, 135, 124, 130, 2, 45, 0, 55, 129, 0, 130, 2, 45, 0, 104, 129, 55, 129,
0, 134, 0, 158, 39, 0, 130, 87, 122, 0, 29, 125, 0, 179, 2, 0, 104, 114, 0, 104, 112, 0, 219, 2, 105, 0,
130, 36, 105, 0, 130, 2, 0 };
}
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@Override
public final int scopeRhs(int index) {
return scopeRhs[index];
}
public interface ScopeState {
public final static char scopeState[] = { 0, 1996, 1856, 0, 452, 0, 412, 0, 582, 0, 2945, 1855, 2890, 0, 588,
518, 0, 2159, 2101, 1721, 1996, 2061, 1856, 2629, 2110, 1942, 1888, 1913, 1832, 1696, 0, 843, 0, 1788,
1771, 2812, 1652, 1635, 0, 687, 659, 556, 589, 654, 528, 417, 2162, 0, 1279, 424, 388, 0, 3039, 3030,
2978, 1996, 2957, 2061, 2159, 3009, 1856, 2101, 2947, 2736, 1913, 1832, 1721, 2110, 2361, 2217, 2925,
1696, 2920, 424, 2916, 1714, 1685, 1625, 855, 2554, 1279, 2637, 2612, 1762, 2608, 2880, 2848, 2577,
1896, 2286, 2182, 388, 2839, 2370, 2816, 2789, 2211, 2785, 0, 1454, 1269, 601, 416, 1721, 2554, 1942,
1888, 1829, 2731, 0, 2780, 2728, 433, 2489, 2469, 2448, 2428, 2387, 2371, 2329, 2309, 2288, 2268, 2227,
1788, 1771, 1652, 1635, 0, 2909, 2901, 2868, 2820, 2653, 1325, 1283, 2243, 1643, 2162, 617, 1337, 2079,
2048, 2547, 2530, 2175, 720, 445, 2570, 2130, 2025, 1971, 1750, 875, 2769, 2760, 2739, 2593, 426, 2721,
2712, 2703, 2694, 2681, 639, 1610, 1583, 1559, 915, 1532, 687, 1508, 1481, 659, 589, 759, 1457, 1429,
1401, 887, 1373, 1297, 843, 815, 731, 1255, 1227, 1199, 1171, 1143, 1115, 1087, 1059, 1031, 1003, 975,
388, 943, 787, 556, 528, 0 };
}
public final static char scopeState[] = ScopeState.scopeState;
@Override
public final int scopeState(int index) {
return scopeState[index];
}
public interface InSymb {
public final static char inSymb[] = { 0, 0, 217, 107, 195, 13, 23, 17, 22, 21, 10, 9, 6, 12, 16, 15, 105, 2,
110, 109, 116, 111, 118, 117, 120, 119, 122, 121, 106, 49, 2, 85, 70, 2, 36, 129, 179, 130, 160, 107,
14, 10, 9, 72, 71, 6, 79, 78, 76, 75, 74, 73, 66, 67, 12, 81, 80, 83, 82, 87, 86, 84, 97, 96, 95, 93,
94, 92, 91, 90, 89, 88, 69, 179, 219, 130, 124, 107, 36, 2, 164, 163, 198, 7, 8, 4, 199, 187, 200, 65,
64, 201, 63, 202, 101, 216, 203, 13, 107, 109, 109, 111, 111, 111, 111, 111, 111, 110, 110, 117, 116,
116, 119, 118, 218, 130, 121, 120, 124, 14, 159, 161, 149, 128, 28, 127, 107, 6, 177, 107, 2, 2, 2, 2,
220, 128, 188, 128, 188, 223, 188, 128, 13, 106, 2, 196, 46, 38, 40, 44, 43, 35, 42, 47, 45, 134, 41,
39, 101, 4, 131, 48, 48, 107, 14, 149, 6, 107, 127, 209, 175, 174, 131, 107, 176, 107, 2, 236, 1, 11,
101, 14, 101, 14, 179, 3, 130, 101, 2, 2, 135, 2, 2, 48, 239, 158, 48, 237, 107, 107, 6, 149, 209, 28,
127, 6, 2, 143, 145, 107, 49, 174, 234, 212, 2, 221, 128, 107, 14, 107, 124, 166, 167, 131, 130, 35,
130, 130, 48, 68, 48, 2, 224, 197, 151, 128, 2, 186, 107, 148, 227, 107, 149, 107, 127, 127, 151, 107,
2, 161, 49, 124, 2, 11, 1, 14, 204, 160, 205, 107, 207, 101, 208, 167, 126, 107, 124, 2, 124, 124, 238,
11, 192, 14, 49, 128, 151, 107, 69, 161, 180, 49, 229, 240, 70, 36, 101, 230, 107, 175, 107, 235, 107,
107, 207, 180, 69, 49, 126, 167, 130, 135, 48, 124, 2, 49, 107, 128, 161, 148, 150, 69, 158, 70, 36,
175, 174, 225, 49, 204, 222, 48, 151, 128, 190, 180, 167, 126, 124, 98, 6, 1, 196, 68, 158, 49, 49, 48,
190, 128, 124, 167, 1, 158, 128, 124 };
}
public final static char inSymb[] = InSymb.inSymb;
@Override
public final int inSymb(int index) {
return inSymb[index];
}
public interface Name {
public final static String name[] = { "", "[", "(", "{", ".", "->", "++", "--", "&", "*", "+", "-", "~", "!",
"/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "...", "=",
"*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", ">?", "<?", "$empty", "auto",
"break", "case", "char", "const", "continue", "default", "do", "double", "else", "enum", "extern",
"float", "for", "goto", "if", "inline", "int", "long", "register", "restrict", "return", "short",
"signed", "sizeof", "static", "struct", "switch", "typedef", "union", "unsigned", "void", "volatile",
"while", "_Bool", "_Complex", "_Imaginary", "integer", "floating", "charconst", "stringlit",
"identifier", "Completion", "EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace",
"SemiColon", "typeof", "__alignof__", "__attribute__", "__declspec", "asm", "ERROR_TOKEN", "EOF_TOKEN",
"no_sizeof_type_name_start", "]", ")", "}", ";", "identifier_token", "expression", "postfix_expression",
"member_name", "type_id", "initializer_list", "unary_expression", "cast_expression",
"multiplicative_expression", "additive_expression", "shift_expression", "relational_expression",
"equality_expression", "and_expression", "exclusive_or_expression", "inclusive_or_expression",
"logical_and_expression", "logical_or_expression", "assignment_expression", "expression_in_statement",
"expression_list_actual", "constant_expression", "statement", "compound_statement", "block_item_list",
"block_item", "declaration", "declaration_specifiers", "init_declarator_list",
"simple_declaration_specifiers", "struct_or_union_declaration_sp" + "ecifiers",
"elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers",
"typdef_name_declaration_specif" + "iers", "no_type_declaration_specifier", "type_qualifier",
"no_type_declaration_specifiers", "simple_type_specifier", "struct_or_union_specifier",
"elaborated_specifier", "enum_specifier", "type_name_specifier", "init_declarator",
"complete_declarator", "initializer", "declarator", "struct_or_union", "struct_declaration_list",
"struct_declaration", "specifier_qualifier_list", "struct_declarator_list",
"complete_struct_declarator", "struct_declarator", "enumerator_list", "enumerator", "direct_declarator",
"pointer_seq", "array_direct_declarator", "basic_direct_declarator", "array_modifier",
"function_direct_declarator", "parameter_type_list", "function_declarator", "identifier_list",
"array_modifier_type_qualifiers", "type_qualifier_list", "parameter_list", "parameter_declaration",
"complete_parameter_declarator", "abstract_declarator", "direct_abstract_declarator",
"basic_direct_abstract_declarat" + "or", "array_direct_abstract_declarat" + "or", "initializer_seq",
"designated_initializer", "designation", "designator_list", "designator", "function_body",
"attribute_or_decl_specifier", "attribute_or_decl_specifier_se" + "q", "word",
"extended_decl_modifier_seq", "extended_decl_modifier", "extended_asm_param", "case_range_expression",
"typeof_declaration_specifiers", "typeof_type_specifier", "field_name_designator" };
}
public final static String name[] = Name.name;
@Override
public final String name(int index) {
return name[index];
}
public final static int ERROR_SYMBOL = 29, SCOPE_UBOUND = 88, SCOPE_SIZE = 89, MAX_NAME_LENGTH = 38;
@Override
public final int getErrorSymbol() {
return ERROR_SYMBOL;
}
@Override
public final int getScopeUbound() {
return SCOPE_UBOUND;
}
@Override
public final int getScopeSize() {
return SCOPE_SIZE;
}
@Override
public final int getMaxNameLength() {
return MAX_NAME_LENGTH;
}
public final static int NUM_STATES = 345, NT_OFFSET = 100, LA_STATE_OFFSET = 3605, MAX_LA = 2147483647,
NUM_RULES = 387, NUM_NONTERMINALS = 148, NUM_SYMBOLS = 248, SEGMENT_SIZE = 8192, START_STATE = 485,
IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 99, EOLT_SYMBOL = 99, ACCEPT_ACTION = 3079, ERROR_ACTION = 3218;
public final static boolean BACKTRACK = true;
@Override
public final int getNumStates() {
return NUM_STATES;
}
@Override
public final int getNtOffset() {
return NT_OFFSET;
}
@Override
public final int getLaStateOffset() {
return LA_STATE_OFFSET;
}
@Override
public final int getMaxLa() {
return MAX_LA;
}
@Override
public final int getNumRules() {
return NUM_RULES;
}
@Override
public final int getNumNonterminals() {
return NUM_NONTERMINALS;
}
@Override
public final int getNumSymbols() {
return NUM_SYMBOLS;
}
@Override
public final int getSegmentSize() {
return SEGMENT_SIZE;
}
@Override
public final int getStartState() {
return START_STATE;
}
@Override
public final int getStartSymbol() {
return lhs[0];
}
public final int getIdentifierSymbol() {
return IDENTIFIER_SYMBOL;
}
@Override
public final int getEoftSymbol() {
return EOFT_SYMBOL;
}
@Override
public final int getEoltSymbol() {
return EOLT_SYMBOL;
}
@Override
public final int getAcceptAction() {
return ACCEPT_ACTION;
}
@Override
public final int getErrorAction() {
return ERROR_ACTION;
}
@Override
public final boolean isValidForParser() {
return isValidForParser;
}
@Override
public final boolean getBacktrack() {
return BACKTRACK;
}
@Override
public final int originalState(int state) {
return -baseCheck[state];
}
@Override
public final int asi(int state) {
return asb[originalState(state)];
}
@Override
public final int nasi(int state) {
return nasb[originalState(state)];
}
@Override
public final int inSymbol(int state) {
return inSymb[originalState(state)];
}
@Override
public final int ntAction(int state, int sym) {
return baseAction[state + sym];
}
@Override
public final int tAction(int state, int sym) {
int i = baseAction[state], k = i + sym;
return termAction[termCheck[k] == sym ? k : i];
}
@Override
public final int lookAhead(int la_state, int sym) {
int k = la_state + sym;
return termAction[termCheck[k] == sym ? k : la_state];
}
}