CPD Results

The following document contains the results of PMD's CPD 3.9.

Duplications

File Line
com\legstar\pli2cob\PLIStructureCobolEmitter.java 14
com\legstar\pli2cob\PLIStructureEnhancer.java 12
public class PLIStructureEnhancer extends TreeParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "DECLARE_KEYWORD", "REAL_KEYWORD", "COMPLEX_KEYWORD", "FIXED_KEYWORD", "FLOAT_KEYWORD", "PRECISION_KEYWORD", "DECIMAL_KEYWORD", "BINARY_KEYWORD", "BIT_KEYWORD", "SIGNED_KEYWORD", "UNSIGNED_KEYWORD", "CHARACTER_KEYWORD", "WIDECHAR_KEYWORD", "GRAPHIC_KEYWORD", "REFER_KEYWORD", "NONVARYING_KEYWORD", "VARYING_KEYWORD", "VARYINGZ_KEYWORD", "PICTURE_KEYWORD", "DIMENSION_KEYWORD", "ALIGNED_KEYWORD", "UNALIGNED_KEYWORD", "INITIAL_KEYWORD", "AUTOMATIC_KEYWORD", "STATIC_KEYWORD", "BASED_KEYWORD", "CONTROLLED_KEYWORD", "UNION_KEYWORD", "LEFT_PAREN", "RIGHT_PAREN", "COMMA", "SEMICOLON", "COLUMN", "SIGN", "LETTER", "DIGIT", "DATA_ITEM_NAME", "STRING_DELIMITER", "NONCONTROL_CHAR", "STRING_LITERAL", "UNSIGNED_INTEGER", "SIGNED_INTEGER", "FRACTION", "EXPONENT", "FLOAT", "ASTERISK", "EQUALS", "LT", "GT", "SPACE", "WHITESPACE", "NEWLINE", "MULTI_COMMENT", "DOT", "SYMBOL", "HEXDIGIT", "LOWER", "UPPER", "BREAK", "QUOTE", "APOSTROPHE", "DATA_ITEM", "LEVEL", "NAME", "ARITHMETIC", "REAL", "COMPLEX", "FIXED", "DECIMAL", "BINARY", "PRECISION", "SCALING_FACTOR", "SIGNED", "UNSIGNED", "STRING", "BIT", "CHARACTER", "GRAPHIC", "WIDECHAR", "LENGTH", "REFER", "STORAGE", "NONVARYING", "VARYING", "VARYINGZ", "PICTURE", "FILLER", "DIMENSIONS", "DIMENSION", "HBOUND", "LBOUND", "INITIAL", "AUTOMATIC", "STATIC", "BASED", "CONTROLLED", "ALIGNMENT", "ALIGNED", "UNALIGNED", "UNION", "REDEFINES"
    };
    public static final int SIGN=37;
    public static final int DATA_ITEM_NAME=40;
    public static final int HBOUND=93;
    public static final int LT=51;
    public static final int EXPONENT=47;
    public static final int SIGNED=76;
    public static final int REDEFINES=104;
    public static final int WIDECHAR_KEYWORD=16;
    public static final int LETTER=38;
    public static final int PRECISION=74;
    public static final int VARYING=87;
    public static final int FIXED=71;
    public static final int SIGNED_KEYWORD=13;
    public static final int GRAPHIC_KEYWORD=17;
    public static final int VARYING_KEYWORD=20;
    public static final int AUTOMATIC_KEYWORD=27;
    public static final int COMPLEX=70;
    public static final int EQUALS=50;
    public static final int CHARACTER_KEYWORD=15;
    public static final int UNALIGNED_KEYWORD=25;
    public static final int BASED=98;
    public static final int EOF=-1;
    public static final int BREAK=62;
    public static final int CHARACTER=80;
    public static final int BINARY_KEYWORD=11;
    public static final int FLOAT_KEYWORD=8;
    public static final int UNION_KEYWORD=31;
    public static final int QUOTE=63;
    public static final int NAME=67;
    public static final int SCALING_FACTOR=75;
    public static final int STRING_LITERAL=43;
    public static final int NONVARYING=86;
    public static final int ARITHMETIC=68;
    public static final int DIMENSION=92;
    public static final int ALIGNED_KEYWORD=24;
    public static final int APOSTROPHE=64;
    public static final int FIXED_KEYWORD=7;
    public static final int PICTURE_KEYWORD=22;
    public static final int GRAPHIC=81;
    public static final int SYMBOL=58;
    public static final int STATIC=97;
    public static final int INITIAL=95;
    public static final int WHITESPACE=54;
    public static final int SEMICOLON=35;
    public static final int UNSIGNED_KEYWORD=14;
    public static final int STATIC_KEYWORD=28;
    public static final int REAL=69;
    public static final int NONCONTROL_CHAR=42;
    public static final int LEVEL=66;
    public static final int BASED_KEYWORD=29;
    public static final int LEFT_PAREN=32;
    public static final int GT=52;
    public static final int LOWER=60;
    public static final int BIT_KEYWORD=12;
    public static final int UPPER=61;
    public static final int AUTOMATIC=96;
    public static final int DATA_ITEM=65;
    public static final int UNALIGNED=102;
    public static final int DIMENSION_KEYWORD=23;
    public static final int DECIMAL_KEYWORD=10;
    public static final int CONTROLLED_KEYWORD=30;
    public static final int REFER=84;
    public static final int MULTI_COMMENT=56;
    public static final int VARYINGZ_KEYWORD=21;
    public static final int REAL_KEYWORD=5;
    public static final int FLOAT=48;
    public static final int SPACE=53;
    public static final int ASTERISK=49;
    public static final int LENGTH=83;
    public static final int WIDECHAR=82;
    public static final int STORAGE=85;
    public static final int DIMENSIONS=91;
    public static final int RIGHT_PAREN=33;
    public static final int UNSIGNED_INTEGER=44;
    public static final int VARYINGZ=88;
    public static final int ALIGNMENT=100;
    public static final int COMMA=34;
    public static final int SIGNED_INTEGER=45;
    public static final int COLUMN=36;
    public static final int ALIGNED=101;
    public static final int DIGIT=39;
    public static final int DOT=57;
    public static final int INITIAL_KEYWORD=26;
    public static final int FILLER=90;
    public static final int CONTROLLED=99;
    public static final int REFER_KEYWORD=18;
    public static final int NONVARYING_KEYWORD=19;
    public static final int LBOUND=94;
    public static final int UNION=103;
    public static final int PICTURE=89;
    public static final int UNSIGNED=77;
    public static final int NEWLINE=55;
    public static final int DECIMAL=72;
    public static final int STRING_DELIMITER=41;
    public static final int COMPLEX_KEYWORD=6;
    public static final int BIT=79;
    public static final int DECLARE_KEYWORD=4;
    public static final int BINARY=73;
    public static final int FRACTION=46;
    public static final int PRECISION_KEYWORD=9;
    public static final int STRING=78;
    public static final int HEXDIGIT=59;

    // delegates
    // delegators


        public PLIStructureEnhancer(TreeNodeStream input) {

File Line
com\legstar\pli2cob\PLIStructureCobolEmitter.java 49
com\legstar\pli2cob\PLIStructureParser.java 50
    public static final int NONVARYING=86;
    public static final int ARITHMETIC=68;
    public static final int DIMENSION=92;
    public static final int ALIGNED_KEYWORD=24;
    public static final int APOSTROPHE=64;
    public static final int FIXED_KEYWORD=7;
    public static final int PICTURE_KEYWORD=22;
    public static final int GRAPHIC=81;
    public static final int SYMBOL=58;
    public static final int STATIC=97;
    public static final int INITIAL=95;
    public static final int WHITESPACE=54;
    public static final int SEMICOLON=35;
    public static final int UNSIGNED_KEYWORD=14;
    public static final int STATIC_KEYWORD=28;
    public static final int REAL=69;
    public static final int NONCONTROL_CHAR=42;
    public static final int LEVEL=66;
    public static final int BASED_KEYWORD=29;
    public static final int LEFT_PAREN=32;
    public static final int GT=52;
    public static final int LOWER=60;
    public static final int BIT_KEYWORD=12;
    public static final int UPPER=61;
    public static final int AUTOMATIC=96;
    public static final int DATA_ITEM=65;
    public static final int UNALIGNED=102;
    public static final int DIMENSION_KEYWORD=23;
    public static final int DECIMAL_KEYWORD=10;
    public static final int CONTROLLED_KEYWORD=30;
    public static final int REFER=84;
    public static final int MULTI_COMMENT=56;
    public static final int VARYINGZ_KEYWORD=21;
    public static final int REAL_KEYWORD=5;
    public static final int FLOAT=48;
    public static final int SPACE=53;
    public static final int ASTERISK=49;
    public static final int LENGTH=83;
    public static final int WIDECHAR=82;
    public static final int STORAGE=85;
    public static final int DIMENSIONS=91;
    public static final int RIGHT_PAREN=33;
    public static final int UNSIGNED_INTEGER=44;
    public static final int VARYINGZ=88;
    public static final int ALIGNMENT=100;
    public static final int COMMA=34;
    public static final int SIGNED_INTEGER=45;
    public static final int COLUMN=36;
    public static final int ALIGNED=101;
    public static final int DIGIT=39;
    public static final int DOT=57;
    public static final int INITIAL_KEYWORD=26;
    public static final int FILLER=90;
    public static final int CONTROLLED=99;
    public static final int REFER_KEYWORD=18;
    public static final int NONVARYING_KEYWORD=19;
    public static final int LBOUND=94;
    public static final int UNION=103;
    public static final int PICTURE=89;
    public static final int UNSIGNED=77;
    public static final int NEWLINE=55;
    public static final int STRING_DELIMITER=41;

File Line
com\legstar\pli2cob\PLIStructureCobolEmitter.java 3150
com\legstar\pli2cob\PLIStructureEnhancer.java 3977
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "union_attribute"

    // Delegated rules


    protected DFA5 dfa5 = new DFA5(this);
    static final String DFA5_eotS =
        "\41\uffff";
    static final String DFA5_eofS =
        "\41\uffff";
    static final String DFA5_minS =
        "\1\103\1\2\1\4\36\uffff";
    static final String DFA5_maxS =
        "\1\103\1\2\1\61\36\uffff";
    static final String DFA5_acceptS =
        "\3\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+
        "\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
        "\1\32\1\33\1\34\1\35\1\36";
    static final String DFA5_specialS =
        "\41\uffff}>";
    static final String[] DFA5_transitionS = {
            "\1\1",
            "\1\2",
            "\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20"+
            "\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+
            "\1\35\1\36\1\37\1\40\10\uffff\1\3\10\uffff\1\4",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS);
    static final short[] DFA5_eof = DFA.unpackEncodedString(DFA5_eofS);
    static final char[] DFA5_min = DFA.unpackEncodedStringToUnsignedChars(DFA5_minS);
    static final char[] DFA5_max = DFA.unpackEncodedStringToUnsignedChars(DFA5_maxS);
    static final short[] DFA5_accept = DFA.unpackEncodedString(DFA5_acceptS);
    static final short[] DFA5_special = DFA.unpackEncodedString(DFA5_specialS);
    static final short[][] DFA5_transition;

    static {
        int numStates = DFA5_transitionS.length;
        DFA5_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA5_transition[i] = DFA.unpackEncodedString(DFA5_transitionS[i]);
        }
    }

    class DFA5 extends DFA {

        public DFA5(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 5;
            this.eot = DFA5_eot;
            this.eof = DFA5_eof;
            this.min = DFA5_min;
            this.max = DFA5_max;
            this.accept = DFA5_accept;
            this.special = DFA5_special;
            this.transition = DFA5_transition;
        }
        public String getDescription() {
            return "74:1: data_item_name : ( ^( NAME DATA_ITEM_NAME ) | ^( NAME ASTERISK ) | ^( NAME DECLARE_KEYWORD ) | ^( NAME REAL_KEYWORD ) | ^( NAME COMPLEX_KEYWORD ) | ^( NAME FIXED_KEYWORD ) | ^( NAME FLOAT_KEYWORD ) | ^( NAME PRECISION_KEYWORD ) | ^( NAME DECIMAL_KEYWORD ) | ^( NAME BINARY_KEYWORD ) | ^( NAME BIT_KEYWORD ) | ^( NAME SIGNED_KEYWORD ) | ^( NAME UNSIGNED_KEYWORD ) | ^( NAME CHARACTER_KEYWORD ) | ^( NAME WIDECHAR_KEYWORD ) | ^( NAME GRAPHIC_KEYWORD ) | ^( NAME REFER_KEYWORD ) | ^( NAME NONVARYING_KEYWORD ) | ^( NAME VARYING_KEYWORD ) | ^( NAME VARYINGZ_KEYWORD ) | ^( NAME PICTURE_KEYWORD ) | ^( NAME DIMENSION_KEYWORD ) | ^( NAME ALIGNED_KEYWORD ) | ^( NAME UNALIGNED_KEYWORD ) | ^( NAME INITIAL_KEYWORD ) | ^( NAME AUTOMATIC_KEYWORD ) | ^( NAME STATIC_KEYWORD ) | ^( NAME BASED_KEYWORD ) | ^( NAME CONTROLLED_KEYWORD ) | ^( NAME UNION_KEYWORD ) );";

File Line
com\legstar\pli2cob\PLIStructureCobolEmitter.java 14
com\legstar\pli2cob\PLIStructureParser.java 15
public class PLIStructureParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "DECLARE_KEYWORD", "REAL_KEYWORD", "COMPLEX_KEYWORD", "FIXED_KEYWORD", "FLOAT_KEYWORD", "PRECISION_KEYWORD", "DECIMAL_KEYWORD", "BINARY_KEYWORD", "BIT_KEYWORD", "SIGNED_KEYWORD", "UNSIGNED_KEYWORD", "CHARACTER_KEYWORD", "WIDECHAR_KEYWORD", "GRAPHIC_KEYWORD", "REFER_KEYWORD", "NONVARYING_KEYWORD", "VARYING_KEYWORD", "VARYINGZ_KEYWORD", "PICTURE_KEYWORD", "DIMENSION_KEYWORD", "ALIGNED_KEYWORD", "UNALIGNED_KEYWORD", "INITIAL_KEYWORD", "AUTOMATIC_KEYWORD", "STATIC_KEYWORD", "BASED_KEYWORD", "CONTROLLED_KEYWORD", "UNION_KEYWORD", "LEFT_PAREN", "RIGHT_PAREN", "COMMA", "SEMICOLON", "COLUMN", "SIGN", "LETTER", "DIGIT", "DATA_ITEM_NAME", "STRING_DELIMITER", "NONCONTROL_CHAR", "STRING_LITERAL", "UNSIGNED_INTEGER", "SIGNED_INTEGER", "FRACTION", "EXPONENT", "FLOAT", "ASTERISK", "EQUALS", "LT", "GT", "SPACE", "WHITESPACE", "NEWLINE", "MULTI_COMMENT", "DOT", "SYMBOL", "HEXDIGIT", "LOWER", "UPPER", "BREAK", "QUOTE", "APOSTROPHE", "DATA_ITEM", "LEVEL", "NAME", "ARITHMETIC", "REAL", "COMPLEX", "FIXED", "DECIMAL", "BINARY", "PRECISION", "SCALING_FACTOR", "SIGNED", "UNSIGNED", "STRING", "BIT", "CHARACTER", "GRAPHIC", "WIDECHAR", "LENGTH", "REFER", "STORAGE", "NONVARYING", "VARYING", "VARYINGZ", "PICTURE", "FILLER", "DIMENSIONS", "DIMENSION", "HBOUND", "LBOUND", "INITIAL", "AUTOMATIC", "STATIC", "BASED", "CONTROLLED", "ALIGNMENT", "ALIGNED", "UNALIGNED", "UNION", "REDEFINES"
    };
    public static final int DATA_ITEM_NAME=40;

File Line
com\legstar\pli2cob\PLIStructureLexerImpl.java 49
com\legstar\pli2cob\PLIStructureParserImpl.java 50
    public PLIStructureParserImpl(final TokenStream input, final RecognizerSharedState state) {
        super(input, state);
         
    }

    /** {@inheritDoc} */
    public String getErrorMessage(final RecognitionException e, final String[] tokenNames) {
        if (_log.isDebugEnabled()) {
            List < ? > stack = getRuleInvocationStack(e, this.getClass().getName());
            String msg = null;
            if (e instanceof NoViableAltException) {
                NoViableAltException nvae = (NoViableAltException) e;
                msg = super.getErrorMessage(e, tokenNames)
                    + " (decision=" + nvae.decisionNumber
                    + " state=" + nvae.stateNumber + ")"
                    + " decision=<<" + nvae.grammarDecisionDescription + ">>";
            } else {
               msg = super.getErrorMessage(e, tokenNames);
            }
            return msg + ". Stack=" + stack;
        } else {
            return super.getErrorMessage(e, tokenNames);
        }
    }

    /** {@inheritDoc} */
    public String getTokenErrorDisplay(final Token t) {
        if (_log.isDebugEnabled()) {
            return t.toString();
        } else {
            return super.getTokenErrorDisplay(t);
        }
    }

    /** {@inheritDoc} */
    public void emitErrorMessage(final String msg) {
        _log.error(msg);
    }

}

File Line
com\legstar\pli2cob\AbstractPLIStructureCobolEmitter.java 228
com\legstar\pli2cob\PLIStructureParserImpl.java 51
        super(input, state);

    }
    /** {@inheritDoc} */
    public String getErrorMessage(final RecognitionException e, final String[] tokenNames) {
        if (_log.isDebugEnabled()) {
            List < ? > stack = getRuleInvocationStack(e, this.getClass().getName());
            String msg = null;
            if (e instanceof NoViableAltException) {
                NoViableAltException nvae = (NoViableAltException) e;
                msg = super.getErrorMessage(e, tokenNames)
                    + " (decision=" + nvae.decisionNumber
                    + " state=" + nvae.stateNumber + ")"
                    + " decision=<<" + nvae.grammarDecisionDescription + ">>";
            } else {
               msg = super.getErrorMessage(e, tokenNames);
            }
            return msg + ". Stack=" + stack;
        } else {
            return super.getErrorMessage(e, tokenNames);
        }
    }

    /** {@inheritDoc} */
    public String getTokenErrorDisplay(final Token t) {
        if (_log.isDebugEnabled()) {
            return t.toString();
        } else {
            return super.getTokenErrorDisplay(t);
        }
    }

    /** {@inheritDoc} */
    public void emitErrorMessage(final String msg) {
        _log.error(msg);
    }
}

File Line
com\legstar\pli2cob\PLIStructureParser.java 2752
com\legstar\pli2cob\PLIStructureParser.java 2833
                            if ( state.backtracking==0 ) stream_string_length_specification.add(string_length_specification62.getTree());

                            }
                            break;

                    }



                    // AST REWRITE
                    // elements: string_length_specification, string_keyword, varying_attribute
                    // token labels: 
                    // rule labels: retval
                    // token list labels: 
                    // rule list labels: 
                    // wildcard labels: 
                    if ( state.backtracking==0 ) {
                    retval.tree = root_0;
                    RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);

                    root_0 = (Object)adaptor.nil();
                    // 255:7: -> ^( STRING string_keyword ( string_length_specification )? ( varying_attribute )? )
                    {
                        // com\\legstar\\pli2cob\\PLIStructureParser.g:255:9: ^( STRING string_keyword ( string_length_specification )? ( varying_attribute )? )
                        {
                        Object root_1 = (Object)adaptor.nil();
                        root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(STRING, "STRING"), root_1);

                        adaptor.addChild(root_1, stream_string_keyword.nextTree());
                        // com\\legstar\\pli2cob\\PLIStructureParser.g:255:33: ( string_length_specification )?
                        if ( stream_string_length_specification.hasNext() ) {
                            adaptor.addChild(root_1, stream_string_length_specification.nextTree());

                        }
                        stream_string_length_specification.reset();
                        // com\\legstar\\pli2cob\\PLIStructureParser.g:255:62: ( varying_attribute )?
                        if ( stream_varying_attribute.hasNext() ) {
                            adaptor.addChild(root_1, stream_varying_attribute.nextTree());

                        }
                        stream_varying_attribute.reset();

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

File Line
com\legstar\pli2cob\PLIStructureParser.java 3208
com\legstar\pli2cob\PLIStructureParser.java 5469
                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(HBOUND, "HBOUND"), root_1);

                adaptor.addChild(root_1, stream_UNSIGNED_INTEGER.nextNode());
                // com\\legstar\\pli2cob\\PLIStructureParser.g:371:33: ( refer_specification )?
                if ( stream_refer_specification.hasNext() ) {
                    adaptor.addChild(root_1, stream_refer_specification.nextTree());

                }
                stream_refer_specification.reset();

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "single_bound_expression"

    public static class alignment_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureEnhancer.java 386
com\legstar\pli2cob\PLIStructureEnhancer.java 426
            if (parentExplicitAlignment.equals("UNALIGNED") && ((data_item_scope)data_item_stack.peek()).explicitAlignment.equals("")) {
                // com\\legstar\\pli2cob\\PLIStructureEnhancer.g:61:98: ^( DATA_ITEM ( level )? data_item_name ( misc_attribute )* ^( ALIGNMENT UNALIGNED ) ( data_item )* )
                {
                CommonTree root_1 = (CommonTree)adaptor.nil();
                root_1 = (CommonTree)adaptor.becomeRoot(stream_DATA_ITEM.nextNode(), root_1);

                // com\\legstar\\pli2cob\\PLIStructureEnhancer.g:61:110: ( level )?
                if ( stream_level.hasNext() ) {
                    adaptor.addChild(root_1, stream_level.nextTree());

                }
                stream_level.reset();
                adaptor.addChild(root_1, stream_data_item_name.nextTree());
                // com\\legstar\\pli2cob\\PLIStructureEnhancer.g:62:34: ( misc_attribute )*
                while ( stream_misc_attribute.hasNext() ) {
                    adaptor.addChild(root_1, stream_misc_attribute.nextTree());

                }
                stream_misc_attribute.reset();
                // com\\legstar\\pli2cob\\PLIStructureEnhancer.g:63:19: ^( ALIGNMENT UNALIGNED )
                {
                CommonTree root_2 = (CommonTree)adaptor.nil();
                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALIGNMENT, "ALIGNMENT"), root_2);

                adaptor.addChild(root_2, (CommonTree)adaptor.create(UNALIGNED, "UNALIGNED"));

File Line
com\legstar\pli2cob\PLIStructureParser.java 4695
com\legstar\pli2cob\PLIStructureParser.java 4809
                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(INITIAL, "INITIAL"), root_1);

                adaptor.addChild(root_1, stream_v.nextNode());

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "initial_attribute"

    public static class storage_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 728
com\legstar\pli2cob\PLIStructureParser.java 5208
                        adaptor.addChild(root_1, stream_single_bound_expression.nextTree());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "bound_attribute"

    public static class double_bound_expression_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 3095
com\legstar\pli2cob\PLIStructureParser.java 4280
                        root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(COMPLEX, "COMPLEX"), root_1);

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "arithmetic_keyword"

    public static class other_arithmetic_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 2873
com\legstar\pli2cob\PLIStructureParser.java 3886
                        stream_other_arithmetic_attribute.reset();

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "arithmetic_attribute"

    public static class arithmetic_keyword_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 3310
com\legstar\pli2cob\PLIStructureParser.java 3626
                adaptor.addChild(root_1, stream_v.nextNode());

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "scaling_factor"

    public static class sign_sequence_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 2338
com\legstar\pli2cob\PLIStructureParser.java 5208
                        adaptor.addChild(root_1, stream_single_bound_expression.nextTree());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "bound_attribute"

    public static class double_bound_expression_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 806
com\legstar\pli2cob\PLIStructureParser.java 3626
                adaptor.addChild(root_1, stream_DATA_ITEM_NAME.nextNode());

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "refer_specification"

    public static class varying_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 728
com\legstar\pli2cob\PLIStructureParser.java 2338
                        adaptor.addChild(root_1, stream_UNION_KEYWORD.nextNode());

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "data_item_name"

    public static class elementary_data_item_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 5611
com\legstar\pli2cob\PLIStructureParser.java 6042
                        adaptor.addChild(root_1, (Object)adaptor.create(CONTROLLED, "CONTROLLED"));

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "storage_attribute"

    public static class union_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 5370
com\legstar\pli2cob\PLIStructureParser.java 5477
                stream_refer_specification.reset();

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "single_bound_expression"

    public static class alignment_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 5208
com\legstar\pli2cob\PLIStructureParser.java 6042
                        adaptor.addChild(root_1, (Object)adaptor.create(UNALIGNED, "UNALIGNED"));

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "alignment_attribute"

    public static class initial_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 4577
com\legstar\pli2cob\PLIStructureParser.java 5001
                stream_w.reset();

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "double_bound_expression"

    public static class single_bound_expression_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 3493
com\legstar\pli2cob\PLIStructureParser.java 6042
                        adaptor.addChild(root_1, (Object)adaptor.create(UNALIGNED, "UNALIGNED"));

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "alignment_attribute"

    public static class initial_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 3216
com\legstar\pli2cob\PLIStructureParser.java 5370
                stream_scaling_factor.reset();

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "implicit_precision_specification"

    public static class scaling_factor_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 728
com\legstar\pli2cob\PLIStructureParser.java 5611
                        adaptor.addChild(root_1, (Object)adaptor.create(VARYINGZ, "VARYINGZ"));

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "varying_attribute"

    public static class picture_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 728
com\legstar\pli2cob\PLIStructureParser.java 3095
                        root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(WIDECHAR, "WIDECHAR"), root_1);

                        adaptor.addChild(root_0, root_1);
                        }

                    }

                    retval.tree = root_0;}
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "string_keyword"

    public static class string_length_specification_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 4458
com\legstar\pli2cob\PLIStructureParser.java 6118
                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(UNION, "UNION"), root_1);

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "union_attribute"

    // $ANTLR start synpred1_PLIStructureParser
    public final void synpred1_PLIStructureParser_fragment() throws RecognitionException {   

File Line
com\legstar\pli2cob\PLIStructureParser.java 806
com\legstar\pli2cob\PLIStructureParser.java 3216
                root_1 = (Object)adaptor.becomeRoot(stream_implicit_precision_specification.nextNode(), root_1);

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "precision_specification"

    public static class implicit_precision_specification_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 806
com\legstar\pli2cob\PLIStructureParser.java 6118
                root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(UNION, "UNION"), root_1);

                adaptor.addChild(root_0, root_1);
                }

            }

            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "union_attribute"

    // $ANTLR start synpred1_PLIStructureParser
    public final void synpred1_PLIStructureParser_fragment() throws RecognitionException {   

File Line
com\legstar\pli2cob\PLIStructureCobolEmitter.java 946
com\legstar\pli2cob\PLIStructureEnhancer.java 1699
        PLIStructureEnhancer.union_attribute_return union_attribute76 = null;



        try {
            // com\\legstar\\pli2cob\\PLIStructureEnhancer.g:108:5: ( string_attribute | picture_attribute | arithmetic_attribute | dimension_attribute | alignment_attribute | initial_attribute | storage_attribute | union_attribute )
            int alt6=8;
            switch ( input.LA(1) ) {
            case STRING:
                {
                alt6=1;
                }
                break;
            case PICTURE:
                {
                alt6=2;
                }
                break;
            case ARITHMETIC:
                {
                alt6=3;
                }
                break;
            case DIMENSIONS:
                {
                alt6=4;
                }
                break;
            case ALIGNMENT:
                {
                alt6=5;
                }
                break;
            case INITIAL:
                {
                alt6=6;
                }
                break;
            case STORAGE:
                {
                alt6=7;
                }
                break;
            case UNION:
                {
                alt6=8;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // com\\legstar\\pli2cob\\PLIStructureEnhancer.g:108:7: string_attribute
                    {

File Line
com\legstar\pli2cob\PLIStructureParser.java 2471
com\legstar\pli2cob\PLIStructureParser.java 2630
                    if ( state.backtracking==0 ) adaptor.addChild(root_0, union_attribute56.getTree());

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "misc_attribute"

    public static class string_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 205
com\legstar\pli2cob\PLIStructureParser.java 944
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "data_item_desc"

    public static class data_item_name_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 3556
com\legstar\pli2cob\PLIStructureParser.java 4872
            if ( state.backtracking==0 ) adaptor.addChild(root_0, implicit_dimension_attribute105.getTree());

            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "dimension_attribute"

    public static class implicit_dimension_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureCobolEmitter.java 20
com\legstar\pli2cob\PLIStructureParser.java 21
    public static final int HBOUND=93;
    public static final int LT=51;
    public static final int EXPONENT=47;
    public static final int SIGNED=76;
    public static final int REDEFINES=104;
    public static final int WIDECHAR_KEYWORD=16;
    public static final int LETTER=38;
    public static final int PRECISION=74;
    public static final int VARYING=87;
    public static final int FIXED=71;
    public static final int SIGNED_KEYWORD=13;
    public static final int GRAPHIC_KEYWORD=17;
    public static final int VARYING_KEYWORD=20;
    public static final int AUTOMATIC_KEYWORD=27;
    public static final int COMPLEX=70;
    public static final int CHARACTER_KEYWORD=15;

File Line
com\legstar\pli2cob\PLIStructureParser.java 308
com\legstar\pli2cob\PLIStructureParser.java 3894
                    }
                    break;

            }
            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "elementary_data_item_attribute"

    public static class misc_attribute_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 3223
com\legstar\pli2cob\PLIStructureParser.java 4364
            }


            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "other_arithmetic_attribute"

    public static class precision_specification_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 945
com\legstar\pli2cob\PLIStructureParser.java 3556
            if ( state.backtracking==0 ) adaptor.addChild(root_0, picture_value79.getTree());

            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "picture_attribute"

    public static class picture_value_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 452
com\legstar\pli2cob\PLIStructureParser.java 5008
            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "level"

    public static class data_item_desc_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 206
com\legstar\pli2cob\PLIStructureParser.java 3556
            if ( state.backtracking==0 ) adaptor.addChild(root_0, picture_value79.getTree());

            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "picture_attribute"

    public static class picture_value_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 209
com\legstar\pli2cob\PLIStructureParser.java 311
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "non_declare"

    public static class data_items_return extends ParserRuleReturnScope {

File Line
com\legstar\pli2cob\PLIStructureParser.java 452
com\legstar\pli2cob\PLIStructureParser.java 6125
            retval.tree = root_0;}
            }

            retval.stop = input.LT(-1);

            if ( state.backtracking==0 ) {

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "union_attribute"

    // $ANTLR start synpred1_PLIStructureParser
    public final void synpred1_PLIStructureParser_fragment() throws RecognitionException {