All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gov.nasa.pds.tools.label.antlr.ODLLexer Maven / Gradle / Ivy

Go to download

The PDS3 Product Tools Library project supports design/generation, validation and submission of archival products to the PDS. This project consists of a library of software classes to support the development of tools to perform these functions and is designed to be utilized by developers from the Engineering Node, Discipline Nodes and the PDS community.

There is a newer version: 4.4.2
Show newest version
// $ANTLR 3.2 Sep 23, 2009 14:05:07 /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g 2023-09-13 08:01:13

package gov.nasa.pds.tools.label.antlr;

import gov.nasa.pds.tools.label.Label;
import gov.nasa.pds.tools.constants.Constants.ProblemType;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;@SuppressWarnings("all")
public class ODLLexer extends Lexer {
    public static final int LETTER=21;
    public static final int DIGITS=23;
    public static final int COMMENT=7;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int IDENTIFIER=9;
    public static final int SIGN=19;
    public static final int WS=25;
    public static final int INTEGER_OR_TIME=27;
    public static final int EOF=-1;
    public static final int T__30=30;
    public static final int UNITS=10;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int INTEGER=11;
    public static final int BASED_INTEGER=12;
    public static final int EOL=8;
    public static final int QUOTED=14;
    public static final int EXTENDED_DIGIT=22;
    public static final int BAD_TOKEN=15;
    public static final int TIME=26;
    public static final int QUOTED_UNTERMINATED=16;
    public static final int DIGIT=20;
    public static final int DATETIME=17;
    public static final int SYMBOL=18;
    public static final int SPECIALCHAR=24;
    public static final int T__28=28;
    public static final int T__29=29;
    public static final int REAL=13;
    public static final int END=4;
    public static final int END_GROUP=5;
    public static final int END_OBJECT=6;


    	private boolean stopAtEND = true;
    	private boolean foundEND = false;
    	private boolean pastEndLine = false;

    	private Stack paraphrase = new Stack();

    	private Label label;

    	public void setStopAtEND(boolean stopAtEND) {
    		this.stopAtEND = stopAtEND;
    	}

    	@Override
    	public Token nextToken() {
    		final Token tok = super.nextToken();

    		final int type = tok.getType();
    		if (this.stopAtEND && this.foundEND) {
    			// only say has attached if there's actual content
    			if(type == EOL) {
    				this.pastEndLine = true;
    			} else if(type != COMMENT && type != EOF) {
    				// should only occur once at most since custom stream does not surface more than one byte of attached content
    				return Token.EOF_TOKEN;
    			}
    		}

    		if (tok.getType() == END) {
    			this.foundEND = true;
    		}

    		return tok;
    	}

    	@Override
        public void reportError(RecognitionException e) {
    		if (this.label != null && !this.foundEND) {
    			this.label.addProblem(e.line, e.charPositionInLine, "parser.error.illegalCharacter", ProblemType.PARSE_ERROR, displayableString(e.c));
    		}
        }

        protected String displayableString(final int c) {
        	StringBuffer result = new StringBuffer();
        	if (' ' <= c && c <= '~') {
        		result.append((char) c);
        	} else {
        	    result.append("\\x");
        	    result.append(Integer.toHexString(c));
        	}
        	return result.toString();
        }

    	@Override
        public void recover(RecognitionException re) {
        	if (input.LA(1)!='\n' && input.LA(1)!='\r' && input.LA(1)!=CharStream.EOF) {
        		input.consume();
        	}
        }

    	public void setLabel(Label label) {
    		this.label = label;
    	}


    // delegates
    // delegators

    public ODLLexer() {;} 
    public ODLLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public ODLLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "/Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g"; }

    // $ANTLR start "END"
    public final void mEND() throws RecognitionException {
        try {
            int _type = END;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:75:5: ( 'END' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:75:7: 'END'
            {
            match("END"); if (state.failed) return ;


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "END"

    // $ANTLR start "END_GROUP"
    public final void mEND_GROUP() throws RecognitionException {
        try {
            int _type = END_GROUP;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:76:11: ( 'END_GROUP' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:76:13: 'END_GROUP'
            {
            match("END_GROUP"); if (state.failed) return ;


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "END_GROUP"

    // $ANTLR start "END_OBJECT"
    public final void mEND_OBJECT() throws RecognitionException {
        try {
            int _type = END_OBJECT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:77:12: ( 'END_OBJECT' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:77:14: 'END_OBJECT'
            {
            match("END_OBJECT"); if (state.failed) return ;


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "END_OBJECT"

    // $ANTLR start "T__28"
    public final void mT__28() throws RecognitionException {
        try {
            int _type = T__28;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:78:7: ( 'OBJECT' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:78:9: 'OBJECT'
            {
            match("OBJECT"); if (state.failed) return ;


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__28"

    // $ANTLR start "T__29"
    public final void mT__29() throws RecognitionException {
        try {
            int _type = T__29;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:79:7: ( '=' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:79:9: '='
            {
            match('='); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__29"

    // $ANTLR start "T__30"
    public final void mT__30() throws RecognitionException {
        try {
            int _type = T__30;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:80:7: ( 'GROUP' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:80:9: 'GROUP'
            {
            match("GROUP"); if (state.failed) return ;


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__30"

    // $ANTLR start "T__31"
    public final void mT__31() throws RecognitionException {
        try {
            int _type = T__31;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:81:7: ( '^' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:81:9: '^'
            {
            match('^'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__31"

    // $ANTLR start "T__32"
    public final void mT__32() throws RecognitionException {
        try {
            int _type = T__32;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:82:7: ( '(' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:82:9: '('
            {
            match('('); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__32"

    // $ANTLR start "T__33"
    public final void mT__33() throws RecognitionException {
        try {
            int _type = T__33;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:83:7: ( ')' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:83:9: ')'
            {
            match(')'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__33"

    // $ANTLR start "T__34"
    public final void mT__34() throws RecognitionException {
        try {
            int _type = T__34;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:84:7: ( ',' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:84:9: ','
            {
            match(','); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__34"

    // $ANTLR start "T__35"
    public final void mT__35() throws RecognitionException {
        try {
            int _type = T__35;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:85:7: ( '{' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:85:9: '{'
            {
            match('{'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__35"

    // $ANTLR start "T__36"
    public final void mT__36() throws RecognitionException {
        try {
            int _type = T__36;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:86:7: ( '}' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:86:9: '}'
            {
            match('}'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__36"

    // $ANTLR start "SIGN"
    public final void mSIGN() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:505:5: ( '+' | '-' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:
            {
            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                input.consume();
            state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "SIGN"

    // $ANTLR start "DIGIT"
    public final void mDIGIT() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:511:5: ( ( '0' .. '9' ) )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:511:7: ( '0' .. '9' )
            {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:511:7: ( '0' .. '9' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:511:8: '0' .. '9'
            {
            matchRange('0','9'); if (state.failed) return ;

            }


            }

        }
        finally {
        }
    }
    // $ANTLR end "DIGIT"

    // $ANTLR start "LETTER"
    public final void mLETTER() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:516:5: ( ( 'a' .. 'z' | 'A' .. 'Z' ) )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:516:7: ( 'a' .. 'z' | 'A' .. 'Z' )
            {
            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();
            state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "LETTER"

    // $ANTLR start "EOF"
    public final void mEOF() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:521:1: ( '\\uFFFF' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:521:3: '\\uFFFF'
            {
            match('\uFFFF'); if (state.failed) return ;

            }

        }
        finally {
        }
    }
    // $ANTLR end "EOF"

    // $ANTLR start "EXTENDED_DIGIT"
    public final void mEXTENDED_DIGIT() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:527:5: ( DIGIT | LETTER )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( ((LA1_0>='0' && LA1_0<='9')) ) {
                alt1=1;
            }
            else if ( ((LA1_0>='A' && LA1_0<='Z')||(LA1_0>='a' && LA1_0<='z')) ) {
                alt1=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:527:7: DIGIT
                    {
                    mDIGIT(); if (state.failed) return ;

                    }
                    break;
                case 2 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:527:15: LETTER
                    {
                    mLETTER(); if (state.failed) return ;

                    }
                    break;

            }
        }
        finally {
        }
    }
    // $ANTLR end "EXTENDED_DIGIT"

    // $ANTLR start "DIGITS"
    public final void mDIGITS() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:532:5: ( ( DIGIT )+ )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:532:7: ( DIGIT )+
            {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:532:7: ( DIGIT )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:532:8: DIGIT
            	    {
            	    mDIGIT(); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
            	    if (state.backtracking>0) {state.failed=true; return ;}
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            }

        }
        finally {
        }
    }
    // $ANTLR end "DIGITS"

    // $ANTLR start "SPECIALCHAR"
    public final void mSPECIALCHAR() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:541:5: ( ( '_' | '$' | '#' | '.' | '-' | ':' | '+' | '*' ) )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:541:7: ( '_' | '$' | '#' | '.' | '-' | ':' | '+' | '*' )
            {
            if ( (input.LA(1)>='#' && input.LA(1)<='$')||(input.LA(1)>='*' && input.LA(1)<='+')||(input.LA(1)>='-' && input.LA(1)<='.')||input.LA(1)==':'||input.LA(1)=='_' ) {
                input.consume();
            state.failed=false;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
    // $ANTLR end "SPECIALCHAR"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            paraphrase.push("comment");
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:5: ( '/*' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) | EOL ) )* '*/' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:7: '/*' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) | EOL ) )* '*/'
            {
            match("/*"); if (state.failed) return ;

            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:12: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) | EOL ) )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0=='*') ) {
                    int LA4_1 = input.LA(2);

                    if ( (LA4_1=='/') ) {
                        alt4=2;
                    }
                    else if ( ((LA4_1>='\u0000' && LA4_1<='.')||(LA4_1>='0' && LA4_1<='\uFFFF')) ) {
                        alt4=1;
                    }


                }
                else if ( ((LA4_0>='\u0000' && LA4_0<=')')||(LA4_0>='+' && LA4_0<='\uFFFF')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:40: (~ ( '\\r' | '\\n' ) | EOL )
            	    {
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:40: (~ ( '\\r' | '\\n' ) | EOL )
            	    int alt3=2;
            	    int LA3_0 = input.LA(1);

            	    if ( ((LA3_0>='\u0000' && LA3_0<='\t')||(LA3_0>='\u000B' && LA3_0<='\f')||(LA3_0>='\u000E' && LA3_0<='\uFFFF')) ) {
            	        alt3=1;
            	    }
            	    else if ( (LA3_0=='\n'||LA3_0=='\r') ) {
            	        alt3=2;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        NoViableAltException nvae =
            	            new NoViableAltException("", 3, 0, input);

            	        throw nvae;
            	    }
            	    switch (alt3) {
            	        case 1 :
            	            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:41: ~ ( '\\r' | '\\n' )
            	            {
            	            if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
            	                input.consume();
            	            state.failed=false;
            	            }
            	            else {
            	                if (state.backtracking>0) {state.failed=true; return ;}
            	                MismatchedSetException mse = new MismatchedSetException(null,input);
            	                recover(mse);
            	                throw mse;}


            	            }
            	            break;
            	        case 2 :
            	            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:550:56: EOL
            	            {
            	            mEOL(); if (state.failed) return ;

            	            }
            	            break;

            	    }


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);

            match("*/"); if (state.failed) return ;


            }

            state.type = _type;
            state.channel = _channel;
            if ( state.backtracking==0 ) {
              paraphrase.pop();
            }    }
        finally {
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:556:5: ( ( ' ' | '\\t' | '\\f' )+ )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:556:7: ( ' ' | '\\t' | '\\f' )+
            {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:556:7: ( ' ' | '\\t' | '\\f' )+
            int cnt5=0;
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0=='\t'||LA5_0=='\f'||LA5_0==' ') ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:
            	    {
            	    if ( input.LA(1)=='\t'||input.LA(1)=='\f'||input.LA(1)==' ' ) {
            	        input.consume();
            	    state.failed=false;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    if ( cnt5 >= 1 ) break loop5;
            	    if (state.backtracking>0) {state.failed=true; return ;}
                        EarlyExitException eee =
                            new EarlyExitException(5, input);
                        throw eee;
                }
                cnt5++;
            } while (true);

            if ( state.backtracking==0 ) {
               _channel = HIDDEN; 
            }

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "IDENTIFIER"
    public final void mIDENTIFIER() throws RecognitionException {
        try {
            int _type = IDENTIFIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:5: ( LETTER ( LETTER | DIGIT | '_' )* ( ':' LETTER ( LETTER | DIGIT | '_' )* )? )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:7: LETTER ( LETTER | DIGIT | '_' )* ( ':' LETTER ( LETTER | DIGIT | '_' )* )?
            {
            mLETTER(); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:14: ( LETTER | DIGIT | '_' )*
            loop6:
            do {
                int alt6=4;
                switch ( input.LA(1) ) {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    {
                    alt6=1;
                    }
                    break;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    {
                    alt6=2;
                    }
                    break;
                case '_':
                    {
                    alt6=3;
                    }
                    break;

                }

                switch (alt6) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:15: LETTER
            	    {
            	    mLETTER(); if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:22: DIGIT
            	    {
            	    mDIGIT(); if (state.failed) return ;

            	    }
            	    break;
            	case 3 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:28: '_'
            	    {
            	    match('_'); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:34: ( ':' LETTER ( LETTER | DIGIT | '_' )* )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==':') ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:36: ':' LETTER ( LETTER | DIGIT | '_' )*
                    {
                    match(':'); if (state.failed) return ;
                    mLETTER(); if (state.failed) return ;
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:47: ( LETTER | DIGIT | '_' )*
                    loop7:
                    do {
                        int alt7=4;
                        switch ( input.LA(1) ) {
                        case 'A':
                        case 'B':
                        case 'C':
                        case 'D':
                        case 'E':
                        case 'F':
                        case 'G':
                        case 'H':
                        case 'I':
                        case 'J':
                        case 'K':
                        case 'L':
                        case 'M':
                        case 'N':
                        case 'O':
                        case 'P':
                        case 'Q':
                        case 'R':
                        case 'S':
                        case 'T':
                        case 'U':
                        case 'V':
                        case 'W':
                        case 'X':
                        case 'Y':
                        case 'Z':
                        case 'a':
                        case 'b':
                        case 'c':
                        case 'd':
                        case 'e':
                        case 'f':
                        case 'g':
                        case 'h':
                        case 'i':
                        case 'j':
                        case 'k':
                        case 'l':
                        case 'm':
                        case 'n':
                        case 'o':
                        case 'p':
                        case 'q':
                        case 'r':
                        case 's':
                        case 't':
                        case 'u':
                        case 'v':
                        case 'w':
                        case 'x':
                        case 'y':
                        case 'z':
                            {
                            alt7=1;
                            }
                            break;
                        case '0':
                        case '1':
                        case '2':
                        case '3':
                        case '4':
                        case '5':
                        case '6':
                        case '7':
                        case '8':
                        case '9':
                            {
                            alt7=2;
                            }
                            break;
                        case '_':
                            {
                            alt7=3;
                            }
                            break;

                        }

                        switch (alt7) {
                    	case 1 :
                    	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:48: LETTER
                    	    {
                    	    mLETTER(); if (state.failed) return ;

                    	    }
                    	    break;
                    	case 2 :
                    	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:55: DIGIT
                    	    {
                    	    mDIGIT(); if (state.failed) return ;

                    	    }
                    	    break;
                    	case 3 :
                    	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:564:61: '_'
                    	    {
                    	    match('_'); if (state.failed) return ;

                    	    }
                    	    break;

                    	default :
                    	    break loop7;
                        }
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "IDENTIFIER"

    // $ANTLR start "UNITS"
    public final void mUNITS() throws RecognitionException {
        try {
            int _type = UNITS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            paraphrase.push("units");
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:5: ( '<' ( LETTER | DIGIT | SPECIALCHAR | '(' | ')' | '/' | WS )* '>' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:7: '<' ( LETTER | DIGIT | SPECIALCHAR | '(' | ')' | '/' | WS )* '>'
            {
            match('<'); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:11: ( LETTER | DIGIT | SPECIALCHAR | '(' | ')' | '/' | WS )*
            loop9:
            do {
                int alt9=8;
                switch ( input.LA(1) ) {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    {
                    alt9=1;
                    }
                    break;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    {
                    alt9=2;
                    }
                    break;
                case '#':
                case '$':
                case '*':
                case '+':
                case '-':
                case '.':
                case ':':
                case '_':
                    {
                    alt9=3;
                    }
                    break;
                case '(':
                    {
                    alt9=4;
                    }
                    break;
                case ')':
                    {
                    alt9=5;
                    }
                    break;
                case '/':
                    {
                    alt9=6;
                    }
                    break;
                case '\t':
                case '\f':
                case ' ':
                    {
                    alt9=7;
                    }
                    break;

                }

                switch (alt9) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:12: LETTER
            	    {
            	    mLETTER(); if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:21: DIGIT
            	    {
            	    mDIGIT(); if (state.failed) return ;

            	    }
            	    break;
            	case 3 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:29: SPECIALCHAR
            	    {
            	    mSPECIALCHAR(); if (state.failed) return ;

            	    }
            	    break;
            	case 4 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:43: '('
            	    {
            	    match('('); if (state.failed) return ;

            	    }
            	    break;
            	case 5 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:49: ')'
            	    {
            	    match(')'); if (state.failed) return ;

            	    }
            	    break;
            	case 6 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:55: '/'
            	    {
            	    match('/'); if (state.failed) return ;

            	    }
            	    break;
            	case 7 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:570:61: WS
            	    {
            	    mWS(); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

            match('>'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
            if ( state.backtracking==0 ) {
              paraphrase.pop();
            }    }
        finally {
        }
    }
    // $ANTLR end "UNITS"

    // $ANTLR start "REAL"
    public final void mREAL() throws RecognitionException {
        try {
            int _type = REAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            paraphrase.push("real");
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:5: ( INTEGER '.' ( DIGITS )? ( ( 'E' | 'e' ) ( SIGN )? DIGITS )? | ( SIGN )? '.' DIGITS ( ( 'E' | 'e' ) ( SIGN )? DIGITS )? )
            int alt16=2;
            switch ( input.LA(1) ) {
            case '+':
            case '-':
                {
                int LA16_1 = input.LA(2);

                if ( (LA16_1=='.') ) {
                    alt16=2;
                }
                else if ( ((LA16_1>='0' && LA16_1<='9')) ) {
                    alt16=1;
                }
                else {
                    if (state.backtracking>0) {state.failed=true; return ;}
                    NoViableAltException nvae =
                        new NoViableAltException("", 16, 1, input);

                    throw nvae;
                }
                }
                break;
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                {
                alt16=1;
                }
                break;
            case '.':
                {
                alt16=2;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;
            }

            switch (alt16) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:7: INTEGER '.' ( DIGITS )? ( ( 'E' | 'e' ) ( SIGN )? DIGITS )?
                    {
                    mINTEGER(); if (state.failed) return ;
                    match('.'); if (state.failed) return ;
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:19: ( DIGITS )?
                    int alt10=2;
                    int LA10_0 = input.LA(1);

                    if ( ((LA10_0>='0' && LA10_0<='9')) ) {
                        alt10=1;
                    }
                    switch (alt10) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:19: DIGITS
                            {
                            mDIGITS(); if (state.failed) return ;

                            }
                            break;

                    }

                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:27: ( ( 'E' | 'e' ) ( SIGN )? DIGITS )?
                    int alt12=2;
                    int LA12_0 = input.LA(1);

                    if ( (LA12_0=='E'||LA12_0=='e') ) {
                        alt12=1;
                    }
                    switch (alt12) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:28: ( 'E' | 'e' ) ( SIGN )? DIGITS
                            {
                            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                                input.consume();
                            state.failed=false;
                            }
                            else {
                                if (state.backtracking>0) {state.failed=true; return ;}
                                MismatchedSetException mse = new MismatchedSetException(null,input);
                                recover(mse);
                                throw mse;}

                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:38: ( SIGN )?
                            int alt11=2;
                            int LA11_0 = input.LA(1);

                            if ( (LA11_0=='+'||LA11_0=='-') ) {
                                alt11=1;
                            }
                            switch (alt11) {
                                case 1 :
                                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:577:38: SIGN
                                    {
                                    mSIGN(); if (state.failed) return ;

                                    }
                                    break;

                            }

                            mDIGITS(); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:7: ( SIGN )? '.' DIGITS ( ( 'E' | 'e' ) ( SIGN )? DIGITS )?
                    {
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:7: ( SIGN )?
                    int alt13=2;
                    int LA13_0 = input.LA(1);

                    if ( (LA13_0=='+'||LA13_0=='-') ) {
                        alt13=1;
                    }
                    switch (alt13) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:7: SIGN
                            {
                            mSIGN(); if (state.failed) return ;

                            }
                            break;

                    }

                    match('.'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:24: ( ( 'E' | 'e' ) ( SIGN )? DIGITS )?
                    int alt15=2;
                    int LA15_0 = input.LA(1);

                    if ( (LA15_0=='E'||LA15_0=='e') ) {
                        alt15=1;
                    }
                    switch (alt15) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:25: ( 'E' | 'e' ) ( SIGN )? DIGITS
                            {
                            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
                                input.consume();
                            state.failed=false;
                            }
                            else {
                                if (state.backtracking>0) {state.failed=true; return ;}
                                MismatchedSetException mse = new MismatchedSetException(null,input);
                                recover(mse);
                                throw mse;}

                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:35: ( SIGN )?
                            int alt14=2;
                            int LA14_0 = input.LA(1);

                            if ( (LA14_0=='+'||LA14_0=='-') ) {
                                alt14=1;
                            }
                            switch (alt14) {
                                case 1 :
                                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:578:35: SIGN
                                    {
                                    mSIGN(); if (state.failed) return ;

                                    }
                                    break;

                            }

                            mDIGITS(); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
            if ( state.backtracking==0 ) {
              paraphrase.pop();
            }    }
        finally {
        }
    }
    // $ANTLR end "REAL"

    // $ANTLR start "BASED_INTEGER"
    public final void mBASED_INTEGER() throws RecognitionException {
        try {
            int _type = BASED_INTEGER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            paraphrase.push("integer with base");
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:587:5: ( DIGITS '#' ( SIGN )? ( EXTENDED_DIGIT )+ '#' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:587:7: DIGITS '#' ( SIGN )? ( EXTENDED_DIGIT )+ '#'
            {
            mDIGITS(); if (state.failed) return ;
            match('#'); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:587:18: ( SIGN )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0=='+'||LA17_0=='-') ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:587:18: SIGN
                    {
                    mSIGN(); if (state.failed) return ;

                    }
                    break;

            }

            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:587:24: ( EXTENDED_DIGIT )+
            int cnt18=0;
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( ((LA18_0>='0' && LA18_0<='9')||(LA18_0>='A' && LA18_0<='Z')||(LA18_0>='a' && LA18_0<='z')) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:587:24: EXTENDED_DIGIT
            	    {
            	    mEXTENDED_DIGIT(); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    if ( cnt18 >= 1 ) break loop18;
            	    if (state.backtracking>0) {state.failed=true; return ;}
                        EarlyExitException eee =
                            new EarlyExitException(18, input);
                        throw eee;
                }
                cnt18++;
            } while (true);

            match('#'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
            if ( state.backtracking==0 ) {
              paraphrase.pop();
            }    }
        finally {
        }
    }
    // $ANTLR end "BASED_INTEGER"

    // $ANTLR start "DATETIME"
    public final void mDATETIME() throws RecognitionException {
        try {
            int _type = DATETIME;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            paraphrase.push("date-time");
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:594:5: ( DIGITS '-' DIGITS '-' DIGITS 'T' DIGITS ( 'Z' )? | DIGITS '-' DIGITS '-' DIGITS 'T' TIME | DIGITS '-' DIGITS 'T' DIGITS ( 'Z' )? | DIGITS '-' DIGITS 'T' TIME | DIGITS '-' DIGITS '-' DIGITS | DIGITS '-' DIGITS )
            int alt21=6;
            alt21 = dfa21.predict(input);
            switch (alt21) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:594:7: DIGITS '-' DIGITS '-' DIGITS 'T' DIGITS ( 'Z' )?
                    {
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('T'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:594:47: ( 'Z' )?
                    int alt19=2;
                    int LA19_0 = input.LA(1);

                    if ( (LA19_0=='Z') ) {
                        alt19=1;
                    }
                    switch (alt19) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:594:47: 'Z'
                            {
                            match('Z'); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:595:7: DIGITS '-' DIGITS '-' DIGITS 'T' TIME
                    {
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('T'); if (state.failed) return ;
                    mTIME(); if (state.failed) return ;

                    }
                    break;
                case 3 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:596:7: DIGITS '-' DIGITS 'T' DIGITS ( 'Z' )?
                    {
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('T'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:596:36: ( 'Z' )?
                    int alt20=2;
                    int LA20_0 = input.LA(1);

                    if ( (LA20_0=='Z') ) {
                        alt20=1;
                    }
                    switch (alt20) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:596:36: 'Z'
                            {
                            match('Z'); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;
                case 4 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:597:7: DIGITS '-' DIGITS 'T' TIME
                    {
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('T'); if (state.failed) return ;
                    mTIME(); if (state.failed) return ;

                    }
                    break;
                case 5 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:598:7: DIGITS '-' DIGITS '-' DIGITS
                    {
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;

                    }
                    break;
                case 6 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:599:7: DIGITS '-' DIGITS
                    {
                    mDIGITS(); if (state.failed) return ;
                    match('-'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
            if ( state.backtracking==0 ) {
              paraphrase.pop();
            }    }
        finally {
        }
    }
    // $ANTLR end "DATETIME"

    // $ANTLR start "INTEGER_OR_TIME"
    public final void mINTEGER_OR_TIME() throws RecognitionException {
        try {
            int _type = INTEGER_OR_TIME;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:605:2: ( ( DIGITS ':' )=> TIME | INTEGER )
            int alt22=2;
            alt22 = dfa22.predict(input);
            switch (alt22) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:605:4: ( DIGITS ':' )=> TIME
                    {
                    mTIME(); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                      _type = TIME;
                    }

                    }
                    break;
                case 2 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:606:4: INTEGER
                    {
                    mINTEGER(); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                      _type = INTEGER;
                    }

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "INTEGER_OR_TIME"

    // $ANTLR start "TIME"
    public final void mTIME() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:5: ( DIGITS ':' DIGITS ( ':' DIGITS ( '.' DIGITS )? )? ( 'Z' )? )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:7: DIGITS ':' DIGITS ( ':' DIGITS ( '.' DIGITS )? )? ( 'Z' )?
            {
            mDIGITS(); if (state.failed) return ;
            match(':'); if (state.failed) return ;
            mDIGITS(); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:25: ( ':' DIGITS ( '.' DIGITS )? )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==':') ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:26: ':' DIGITS ( '.' DIGITS )?
                    {
                    match(':'); if (state.failed) return ;
                    mDIGITS(); if (state.failed) return ;
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:37: ( '.' DIGITS )?
                    int alt23=2;
                    int LA23_0 = input.LA(1);

                    if ( (LA23_0=='.') ) {
                        alt23=1;
                    }
                    switch (alt23) {
                        case 1 :
                            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:38: '.' DIGITS
                            {
                            match('.'); if (state.failed) return ;
                            mDIGITS(); if (state.failed) return ;

                            }
                            break;

                    }


                    }
                    break;

            }

            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:53: ( 'Z' )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0=='Z') ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:612:53: 'Z'
                    {
                    match('Z'); if (state.failed) return ;

                    }
                    break;

            }


            }

        }
        finally {
        }
    }
    // $ANTLR end "TIME"

    // $ANTLR start "INTEGER"
    public final void mINTEGER() throws RecognitionException {
        try {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:618:5: ( ( SIGN )? DIGITS )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:618:7: ( SIGN )? DIGITS
            {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:618:7: ( SIGN )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0=='+'||LA26_0=='-') ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:618:7: SIGN
                    {
                    mSIGN(); if (state.failed) return ;

                    }
                    break;

            }

            mDIGITS(); if (state.failed) return ;

            }

        }
        finally {
        }
    }
    // $ANTLR end "INTEGER"

    // $ANTLR start "QUOTED"
    public final void mQUOTED() throws RecognitionException {
        try {
            int _type = QUOTED;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:623:5: ( '\"' ( EOL | ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' ) )* '\"' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:623:7: '\"' ( EOL | ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' ) )* '\"'
            {
            match('\"'); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:623:11: ( EOL | ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' ) )*
            loop27:
            do {
                int alt27=3;
                int LA27_0 = input.LA(1);

                if ( (LA27_0=='\n'||LA27_0=='\r') ) {
                    alt27=1;
                }
                else if ( ((LA27_0>='\u0000' && LA27_0<='\t')||(LA27_0>='\u000B' && LA27_0<='\f')||(LA27_0>='\u000E' && LA27_0<='!')||(LA27_0>='#' && LA27_0<='\uFFFE')) ) {
                    alt27=2;
                }


                switch (alt27) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:623:12: EOL
            	    {
            	    mEOL(); if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:623:16: ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='\uFFFE') ) {
            	        input.consume();
            	    state.failed=false;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop27;
                }
            } while (true);

            match('\"'); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "QUOTED"

    // $ANTLR start "QUOTED_UNTERMINATED"
    public final void mQUOTED_UNTERMINATED() throws RecognitionException {
        try {
            int _type = QUOTED_UNTERMINATED;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:628:5: ( '\"' ( EOL | ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' ) )* )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:628:7: '\"' ( EOL | ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' ) )*
            {
            match('\"'); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:628:11: ( EOL | ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' ) )*
            loop28:
            do {
                int alt28=3;
                int LA28_0 = input.LA(1);

                if ( (LA28_0=='\n'||LA28_0=='\r') ) {
                    alt28=1;
                }
                else if ( ((LA28_0>='\u0000' && LA28_0<='\t')||(LA28_0>='\u000B' && LA28_0<='\f')||(LA28_0>='\u000E' && LA28_0<='!')||(LA28_0>='#' && LA28_0<='\uFFFE')) ) {
                    alt28=2;
                }


                switch (alt28) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:628:12: EOL
            	    {
            	    mEOL(); if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:628:16: ~ ( '\"' | '\\uFFFF' | '\\r' | '\\n' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='\uFFFE') ) {
            	        input.consume();
            	    state.failed=false;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop28;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "QUOTED_UNTERMINATED"

    // $ANTLR start "SYMBOL"
    public final void mSYMBOL() throws RecognitionException {
        try {
            int _type = SYMBOL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:632:5: ( '\\'' (~ ( '\\'' | '\\\\' | '\\r' | '\\n' ) )* '\\'' )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:632:7: '\\'' (~ ( '\\'' | '\\\\' | '\\r' | '\\n' ) )* '\\''
            {
            match('\''); if (state.failed) return ;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:632:12: (~ ( '\\'' | '\\\\' | '\\r' | '\\n' ) )*
            loop29:
            do {
                int alt29=2;
                int LA29_0 = input.LA(1);

                if ( ((LA29_0>='\u0000' && LA29_0<='\t')||(LA29_0>='\u000B' && LA29_0<='\f')||(LA29_0>='\u000E' && LA29_0<='&')||(LA29_0>='(' && LA29_0<='[')||(LA29_0>=']' && LA29_0<='\uFFFF')) ) {
                    alt29=1;
                }


                switch (alt29) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:632:13: ~ ( '\\'' | '\\\\' | '\\r' | '\\n' )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();
            	    state.failed=false;
            	    }
            	    else {
            	        if (state.backtracking>0) {state.failed=true; return ;}
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop29;
                }
            } while (true);

            match('\''); if (state.failed) return ;

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SYMBOL"

    // $ANTLR start "EOL"
    public final void mEOL() throws RecognitionException {
        try {
            int _type = EOL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            int startColumn = -1;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:637:5: ( '\\r\\n' | ( '\\r' | '\\n' ) )
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0=='\r') ) {
                int LA30_1 = input.LA(2);

                if ( (LA30_1=='\n') ) {
                    alt30=1;
                }
                else {
                    alt30=2;}
            }
            else if ( (LA30_0=='\n') ) {
                alt30=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 30, 0, input);

                throw nvae;
            }
            switch (alt30) {
                case 1 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:637:7: '\\r\\n'
                    {
                    if ( state.backtracking==0 ) {
                      startColumn = getCharPositionInLine();
                    }
                    match("\r\n"); if (state.failed) return ;

                    if ( state.backtracking==0 ) {

                                if (label != null && this.pastEndLine == false) {
                                    label.addLineLength(state.tokenStartLine, startColumn);
                                }
                              
                    }

                    }
                    break;
                case 2 :
                    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:643:7: ( '\\r' | '\\n' )
                    {
                    if ( state.backtracking==0 ) {
                      startColumn = getCharPositionInLine();
                    }
                    if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {
                        input.consume();
                    state.failed=false;
                    }
                    else {
                        if (state.backtracking>0) {state.failed=true; return ;}
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;}

                    if ( state.backtracking==0 ) {

                                if (label != null && this.pastEndLine == false) {
                                    label.addLineLength(state.tokenStartLine, startColumn);
                                }
                                if (label != null)
                                  label.addProblem(state.tokenStartLine, "parser.error.badLineEnding", ProblemType.ILLEGAL_LINE_ENDING);
                              
                    }

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "EOL"

    // $ANTLR start "BAD_TOKEN"
    public final void mBAD_TOKEN() throws RecognitionException {
        try {
            int _type = BAD_TOKEN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:654:2: ( ( LETTER | DIGIT | SPECIALCHAR )+ )
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:654:3: ( LETTER | DIGIT | SPECIALCHAR )+
            {
            // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:654:3: ( LETTER | DIGIT | SPECIALCHAR )+
            int cnt31=0;
            loop31:
            do {
                int alt31=4;
                switch ( input.LA(1) ) {
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                case 'F':
                case 'G':
                case 'H':
                case 'I':
                case 'J':
                case 'K':
                case 'L':
                case 'M':
                case 'N':
                case 'O':
                case 'P':
                case 'Q':
                case 'R':
                case 'S':
                case 'T':
                case 'U':
                case 'V':
                case 'W':
                case 'X':
                case 'Y':
                case 'Z':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                case 'g':
                case 'h':
                case 'i':
                case 'j':
                case 'k':
                case 'l':
                case 'm':
                case 'n':
                case 'o':
                case 'p':
                case 'q':
                case 'r':
                case 's':
                case 't':
                case 'u':
                case 'v':
                case 'w':
                case 'x':
                case 'y':
                case 'z':
                    {
                    alt31=1;
                    }
                    break;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                    {
                    alt31=2;
                    }
                    break;
                case '#':
                case '$':
                case '*':
                case '+':
                case '-':
                case '.':
                case ':':
                case '_':
                    {
                    alt31=3;
                    }
                    break;

                }

                switch (alt31) {
            	case 1 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:654:4: LETTER
            	    {
            	    mLETTER(); if (state.failed) return ;

            	    }
            	    break;
            	case 2 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:654:11: DIGIT
            	    {
            	    mDIGIT(); if (state.failed) return ;

            	    }
            	    break;
            	case 3 :
            	    // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:654:17: SPECIALCHAR
            	    {
            	    mSPECIALCHAR(); if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    if ( cnt31 >= 1 ) break loop31;
            	    if (state.backtracking>0) {state.failed=true; return ;}
                        EarlyExitException eee =
                            new EarlyExitException(31, input);
                        throw eee;
                }
                cnt31++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "BAD_TOKEN"

    public void mTokens() throws RecognitionException {
        // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:8: ( END | END_GROUP | END_OBJECT | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | COMMENT | WS | IDENTIFIER | UNITS | REAL | BASED_INTEGER | DATETIME | INTEGER_OR_TIME | QUOTED | QUOTED_UNTERMINATED | SYMBOL | EOL | BAD_TOKEN )
        int alt32=25;
        alt32 = dfa32.predict(input);
        switch (alt32) {
            case 1 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:10: END
                {
                mEND(); if (state.failed) return ;

                }
                break;
            case 2 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:14: END_GROUP
                {
                mEND_GROUP(); if (state.failed) return ;

                }
                break;
            case 3 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:24: END_OBJECT
                {
                mEND_OBJECT(); if (state.failed) return ;

                }
                break;
            case 4 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:35: T__28
                {
                mT__28(); if (state.failed) return ;

                }
                break;
            case 5 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:41: T__29
                {
                mT__29(); if (state.failed) return ;

                }
                break;
            case 6 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:47: T__30
                {
                mT__30(); if (state.failed) return ;

                }
                break;
            case 7 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:53: T__31
                {
                mT__31(); if (state.failed) return ;

                }
                break;
            case 8 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:59: T__32
                {
                mT__32(); if (state.failed) return ;

                }
                break;
            case 9 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:65: T__33
                {
                mT__33(); if (state.failed) return ;

                }
                break;
            case 10 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:71: T__34
                {
                mT__34(); if (state.failed) return ;

                }
                break;
            case 11 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:77: T__35
                {
                mT__35(); if (state.failed) return ;

                }
                break;
            case 12 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:83: T__36
                {
                mT__36(); if (state.failed) return ;

                }
                break;
            case 13 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:89: COMMENT
                {
                mCOMMENT(); if (state.failed) return ;

                }
                break;
            case 14 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:97: WS
                {
                mWS(); if (state.failed) return ;

                }
                break;
            case 15 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:100: IDENTIFIER
                {
                mIDENTIFIER(); if (state.failed) return ;

                }
                break;
            case 16 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:111: UNITS
                {
                mUNITS(); if (state.failed) return ;

                }
                break;
            case 17 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:117: REAL
                {
                mREAL(); if (state.failed) return ;

                }
                break;
            case 18 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:122: BASED_INTEGER
                {
                mBASED_INTEGER(); if (state.failed) return ;

                }
                break;
            case 19 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:136: DATETIME
                {
                mDATETIME(); if (state.failed) return ;

                }
                break;
            case 20 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:145: INTEGER_OR_TIME
                {
                mINTEGER_OR_TIME(); if (state.failed) return ;

                }
                break;
            case 21 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:161: QUOTED
                {
                mQUOTED(); if (state.failed) return ;

                }
                break;
            case 22 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:168: QUOTED_UNTERMINATED
                {
                mQUOTED_UNTERMINATED(); if (state.failed) return ;

                }
                break;
            case 23 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:188: SYMBOL
                {
                mSYMBOL(); if (state.failed) return ;

                }
                break;
            case 24 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:195: EOL
                {
                mEOL(); if (state.failed) return ;

                }
                break;
            case 25 :
                // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:1:199: BAD_TOKEN
                {
                mBAD_TOKEN(); if (state.failed) return ;

                }
                break;

        }

    }

    // $ANTLR start synpred1_ODL
    public final void synpred1_ODL_fragment() throws RecognitionException {   
        // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:605:4: ( DIGITS ':' )
        // /Users/jpadams/pds3-product-tools/src/main/antlr3/gov/nasa/pds/tools/label/antlr/ODL.g:605:5: DIGITS ':'
        {
        mDIGITS(); if (state.failed) return ;
        match(':'); if (state.failed) return ;

        }
    }
    // $ANTLR end synpred1_ODL

    public final boolean synpred1_ODL() {
        state.backtracking++;
        int start = input.mark();
        try {
            synpred1_ODL_fragment(); // can never throw exception
        } catch (RecognitionException re) {
            System.err.println("impossible: "+re);
        }
        boolean success = !state.failed;
        input.rewind(start);
        state.backtracking--;
        state.failed=false;
        return success;
    }


    protected DFA21 dfa21 = new DFA21(this);
    protected DFA22 dfa22 = new DFA22(this);
    protected DFA32 dfa32 = new DFA32(this);
    static final String DFA21_eotS =
        "\3\uffff\1\4\3\uffff\1\11\1\13\4\uffff\1\16\2\uffff";
    static final String DFA21_eofS =
        "\20\uffff";
    static final String DFA21_minS =
        "\1\60\1\55\1\60\1\55\1\uffff\4\60\3\uffff\2\60\2\uffff";
    static final String DFA21_maxS =
        "\3\71\1\124\1\uffff\2\71\1\72\1\124\3\uffff\1\71\1\72\2\uffff";
    static final String DFA21_acceptS =
        "\4\uffff\1\6\4\uffff\1\3\1\4\1\5\2\uffff\1\1\1\2";
    static final String DFA21_specialS =
        "\20\uffff}>";
    static final String[] DFA21_transitionS = {
            "\12\1",
            "\1\2\2\uffff\12\1",
            "\12\3",
            "\1\6\2\uffff\12\3\32\uffff\1\5",
            "",
            "\12\7",
            "\12\10",
            "\12\7\1\12",
            "\12\10\32\uffff\1\14",
            "",
            "",
            "",
            "\12\15",
            "\12\15\1\17",
            "",
            ""
    };

    static final short[] DFA21_eot = DFA.unpackEncodedString(DFA21_eotS);
    static final short[] DFA21_eof = DFA.unpackEncodedString(DFA21_eofS);
    static final char[] DFA21_min = DFA.unpackEncodedStringToUnsignedChars(DFA21_minS);
    static final char[] DFA21_max = DFA.unpackEncodedStringToUnsignedChars(DFA21_maxS);
    static final short[] DFA21_accept = DFA.unpackEncodedString(DFA21_acceptS);
    static final short[] DFA21_special = DFA.unpackEncodedString(DFA21_specialS);
    static final short[][] DFA21_transition;

    static {
        int numStates = DFA21_transitionS.length;
        DFA21_transition = new short[numStates][];
        for (int i=0; i TIME | INTEGER );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA22_1 = input.LA(1);

                         
                        int index22_1 = input.index();
                        input.rewind();
                        s = -1;
                        if ( (LA22_1==':') && (synpred1_ODL())) {s = 3;}

                        else if ( ((LA22_1>='0' && LA22_1<='9')) ) {s = 1;}

                        else s = 2;

                         
                        input.seek(index22_1);
                        if ( s>=0 ) return s;
                        break;
            }
            if (state.backtracking>0) {state.failed=true; return -1;}
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 22, _s, input);
            error(nvae);
            throw nvae;
        }
    }
    static final String DFA32_eotS =
        "\1\uffff\2\27\1\uffff\1\27\10\uffff\1\27\1\uffff\1\25\1\37\1\25"+
        "\1\51\3\uffff\1\27\1\uffff\3\27\1\25\2\27\1\37\1\uffff\1\60\3\25"+
        "\1\60\3\51\2\uffff\1\71\3\27\1\60\1\25\1\uffff\1\101\3\25\1\37\1"+
        "\25\1\51\1\27\1\uffff\5\27\1\60\1\25\1\uffff\2\25\1\117\1\37\1\25"+
        "\1\60\1\25\3\27\1\124\2\101\1\uffff\1\37\2\27\1\133\1\uffff\1\101"+
        "\3\25\2\27\1\uffff\2\101\1\37\2\27\1\101\1\25\1\101\1\25\1\151\1"+
        "\27\2\101\1\uffff\1\156\1\25\1\101\1\25\1\uffff\2\101\1\25\1\101";
    static final String DFA32_eofS =
        "\163\uffff";
    static final String DFA32_minS =
        "\1\11\2\43\1\uffff\1\43\10\uffff\1\43\1\uffff\1\56\1\43\1\60\1\0"+
        "\3\uffff\1\43\1\uffff\3\43\1\101\3\43\1\uffff\1\43\1\60\1\53\1\60"+
        "\1\43\3\0\2\uffff\5\43\1\53\1\uffff\1\43\1\60\3\43\1\53\1\0\1\43"+
        "\1\uffff\6\43\1\60\1\uffff\2\60\2\43\1\60\1\43\1\60\6\43\1\uffff"+
        "\4\43\1\uffff\1\43\3\60\2\43\1\uffff\6\43\1\60\1\43\1\60\4\43\1"+
        "\uffff\1\43\1\60\1\43\1\60\1\uffff\2\43\1\60\1\43";
    static final String DFA32_maxS =
        "\1\175\2\172\1\uffff\1\172\10\uffff\1\172\1\uffff\1\71\1\172\1\71"+
        "\1\ufffe\3\uffff\1\172\1\uffff\7\172\1\uffff\1\172\1\71\1\172\1"+
        "\71\1\172\3\ufffe\2\uffff\5\172\1\71\1\uffff\5\172\1\71\1\ufffe"+
        "\1\172\1\uffff\6\172\1\71\1\uffff\2\71\2\172\1\71\1\172\1\71\6\172"+
        "\1\uffff\4\172\1\uffff\1\172\3\71\2\172\1\uffff\6\172\1\71\1\172"+
        "\1\71\4\172\1\uffff\1\172\1\71\1\172\1\71\1\uffff\2\172\1\71\1\172";
    static final String DFA32_acceptS =
        "\3\uffff\1\5\1\uffff\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\uffff"+
        "\1\20\4\uffff\1\27\1\30\1\31\1\uffff\1\17\7\uffff\1\24\10\uffff"+
        "\1\25\1\26\6\uffff\1\21\10\uffff\1\1\7\uffff\1\23\15\uffff\1\22"+
        "\4\uffff\1\6\6\uffff\1\4\15\uffff\1\2\4\uffff\1\3\4\uffff";
    static final String DFA32_specialS =
        "\163\uffff}>";
    static final String[] DFA32_transitionS = {
            "\1\14\1\24\1\uffff\1\14\1\24\22\uffff\1\14\1\uffff\1\22\2\25"+
            "\2\uffff\1\23\1\6\1\7\1\25\1\17\1\10\1\17\1\21\1\13\12\20\1"+
            "\25\1\uffff\1\16\1\3\3\uffff\4\15\1\1\1\15\1\4\7\15\1\2\13\15"+
            "\3\uffff\1\5\1\25\1\uffff\32\15\1\11\1\uffff\1\12",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\15\30\1\26\14\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\1\30\1\34\30\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\21\30\1\35\10\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "\1\21\1\uffff\12\36",
            "\1\42\1\25\5\uffff\2\25\1\uffff\1\41\1\40\1\uffff\12\20\1\43"+
            "\6\uffff\32\25\4\uffff\1\25\1\uffff\32\25",
            "\12\44",
            "\12\47\1\46\2\47\1\45\24\47\1\50\uffdc\47",
            "",
            "",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\3\30\1\52\26\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "\32\53\6\uffff\32\53",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\11\30\1\54\20\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\16\30\1\55\13\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\1\25\1\40\1\uffff\12\36\1\25\6\uffff"+
            "\32\25\4\uffff\1\25\1\uffff\32\25",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\56\1\25\6\uffff"+
            "\4\25\1\57\25\25\4\uffff\1\25\1\uffff\4\25\1\57\25\25",
            "\12\61",
            "\1\62\1\uffff\1\62\2\uffff\12\63\7\uffff\32\64\6\uffff\32\64",
            "\12\65",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\44\1\25\6\uffff"+
            "\4\25\1\66\25\25\4\uffff\1\25\1\uffff\4\25\1\66\25\25",
            "\12\47\1\67\2\47\1\45\24\47\1\50\uffdc\47",
            "\12\47\1\46\2\47\1\45\24\47\1\50\uffdc\47",
            "\12\47\1\46\2\47\1\45\24\47\1\50\uffdc\47",
            "",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\70\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\73\1\25\6\uffff"+
            "\32\72\4\uffff\1\74\1\uffff\32\72",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\4\30\1\75\25\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\24\30\1\76\5\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\56\1\25\6\uffff"+
            "\4\25\1\57\25\25\4\uffff\1\25\1\uffff\4\25\1\57\25\25",
            "\1\100\1\uffff\1\100\2\uffff\12\77",
            "",
            "\2\25\5\uffff\2\25\1\uffff\1\103\1\25\1\uffff\12\61\1\25\6"+
            "\uffff\23\25\1\102\6\25\4\uffff\1\25\1\uffff\32\25",
            "\12\63\7\uffff\32\64\6\uffff\32\64",
            "\1\104\14\uffff\12\63\7\uffff\32\64\6\uffff\32\64",
            "\1\104\14\uffff\12\63\7\uffff\32\64\6\uffff\32\64",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\65\1\106\6\uffff"+
            "\31\25\1\105\4\uffff\1\25\1\uffff\32\25",
            "\1\110\1\uffff\1\110\2\uffff\12\107",
            "\12\47\1\46\2\47\1\45\24\47\1\50\uffdc\47",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\6\30\1\111\7\30\1\112\13\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\73\1\25\6\uffff"+
            "\32\72\4\uffff\1\74\1\uffff\32\72",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\73\1\25\6\uffff"+
            "\32\72\4\uffff\1\74\1\uffff\32\72",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\73\1\25\6\uffff"+
            "\32\72\4\uffff\1\74\1\uffff\32\72",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\2\30\1\113\27\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\17\30\1\114\12\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\77\1\25\6\uffff"+
            "\32\25\4\uffff\1\25\1\uffff\32\25",
            "\12\77",
            "",
            "\12\115",
            "\12\116",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\13\25\6\uffff\32\25"+
            "\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\13\25\6\uffff\32\25"+
            "\4\uffff\1\25\1\uffff\32\25",
            "\12\120",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\107\1\25\6\uffff"+
            "\32\25\4\uffff\1\25\1\uffff\32\25",
            "\12\107",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\21\30\1\121\10\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\1\30\1\122\30\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\23\30\1\123\6\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\115\1\126\6\uffff"+
            "\31\25\1\125\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\116\1\25\6\uffff"+
            "\23\25\1\127\6\25\4\uffff\1\25\1\uffff\32\25",
            "",
            "\2\25\5\uffff\2\25\1\uffff\1\25\1\130\1\uffff\12\120\1\25\6"+
            "\uffff\31\25\1\105\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\16\30\1\131\13\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\11\30\1\132\20\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\13\25\6\uffff\32\25"+
            "\4\uffff\1\25\1\uffff\32\25",
            "\12\134",
            "\12\135",
            "\12\136",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\24\30\1\137\5\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\4\30\1\140\25\30\4\uffff\1\32\1\uffff\32\30",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\134\1\142\6\uffff"+
            "\31\25\1\141\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\135\1\144\6\uffff"+
            "\31\25\1\143\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\136\1\25\6\uffff"+
            "\31\25\1\105\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\17\30\1\145\12\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\2\30\1\146\27\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\13\25\6\uffff\32\25"+
            "\4\uffff\1\25\1\uffff\32\25",
            "\12\147",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\13\25\6\uffff\32\25"+
            "\4\uffff\1\25\1\uffff\32\25",
            "\12\150",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\23\30\1\152\6\30\4\uffff\1\32\1\uffff\32\30",
            "\2\25\5\uffff\2\25\1\uffff\1\25\1\153\1\uffff\12\147\1\25\6"+
            "\uffff\31\25\1\141\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\150\1\155\6\uffff"+
            "\31\25\1\154\4\uffff\1\25\1\uffff\32\25",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\31\1\33\6\uffff"+
            "\32\30\4\uffff\1\32\1\uffff\32\30",
            "\12\157",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\13\25\6\uffff\32\25"+
            "\4\uffff\1\25\1\uffff\32\25",
            "\12\160",
            "",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\157\1\25\6\uffff"+
            "\31\25\1\141\4\uffff\1\25\1\uffff\32\25",
            "\2\25\5\uffff\2\25\1\uffff\1\25\1\161\1\uffff\12\160\1\25\6"+
            "\uffff\31\25\1\154\4\uffff\1\25\1\uffff\32\25",
            "\12\162",
            "\2\25\5\uffff\2\25\1\uffff\2\25\1\uffff\12\162\1\25\6\uffff"+
            "\31\25\1\154\4\uffff\1\25\1\uffff\32\25"
    };

    static final short[] DFA32_eot = DFA.unpackEncodedString(DFA32_eotS);
    static final short[] DFA32_eof = DFA.unpackEncodedString(DFA32_eofS);
    static final char[] DFA32_min = DFA.unpackEncodedStringToUnsignedChars(DFA32_minS);
    static final char[] DFA32_max = DFA.unpackEncodedStringToUnsignedChars(DFA32_maxS);
    static final short[] DFA32_accept = DFA.unpackEncodedString(DFA32_acceptS);
    static final short[] DFA32_special = DFA.unpackEncodedString(DFA32_specialS);
    static final short[][] DFA32_transition;

    static {
        int numStates = DFA32_transitionS.length;
        DFA32_transition = new short[numStates][];
        for (int i=0; i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy