// $ANTLR end document


        // $ANTLR start motion
        // F:\\Projects\\Igneel\\Igneel\\Importers\\BVH\\bvh.g:79:1: motion returns [BvhMotion m =new BvhMotion()] : MOTION FRAMES COLON frames= NUMBER FRAME_TIME COLON time= NUMBER values[m.Data] ;
        public BvhMotion motion() // throws RecognitionException [1]
        {
            BvhMotion m = new BvhMotion();

            IToken frames = null;
            IToken time   = null;

            try
            {
                // F:\\Projects\\Igneel\\Igneel\\Importers\\BVH\\bvh.g:80:2: ( MOTION FRAMES COLON frames= NUMBER FRAME_TIME COLON time= NUMBER values[m.Data] )
                // F:\\Projects\\Igneel\\Igneel\\Importers\\BVH\\bvh.g:80:4: MOTION FRAMES COLON frames= NUMBER FRAME_TIME COLON time= NUMBER values[m.Data]
                {
                    Match(input, MOTION, FOLLOW_MOTION_in_motion522);
                    Match(input, FRAMES, FOLLOW_FRAMES_in_motion528);
                    Match(input, COLON, FOLLOW_COLON_in_motion530);
                    frames = (IToken)input.LT(1);
                    Match(input, NUMBER, FOLLOW_NUMBER_in_motion534);
                    m.FrameCount = int.Parse(frames.Text);
                    Match(input, FRAME_TIME, FOLLOW_FRAME_TIME_in_motion541);
                    Match(input, COLON, FOLLOW_COLON_in_motion543);
                    time = (IToken)input.LT(1);
                    Match(input, NUMBER, FOLLOW_NUMBER_in_motion547);
                    m.FrameTime = float.Parse(time.Text);
                    PushFollow(FOLLOW_values_in_motion556);
                    values(m.Data);
                    followingStackPointer_--;
                }
            }
            catch (RecognitionException re)
            {
                ReportError(re);
                Recover(input, re);
            }
            finally
            {
            }
            return(m);
        }
        // $ANTLR start document
        // F:\\Projects\\Igneel\\Igneel\\Importers\\BVH\\bvh.g:73:1: document returns [BvhDocument doc = new BvhDocument()] : HEIRARCHY root= heirarchy[doc] m= motion ;
        public BvhDocument document() // throws RecognitionException [1]
        {
            BvhDocument doc = new BvhDocument();

            BvhNode root = null;

            BvhMotion m = null;


            try
            {
                // F:\\Projects\\Igneel\\Igneel\\Importers\\BVH\\bvh.g:74:2: ( HEIRARCHY root= heirarchy[doc] m= motion )
                // F:\\Projects\\Igneel\\Igneel\\Importers\\BVH\\bvh.g:74:4: HEIRARCHY root= heirarchy[doc] m= motion
                {
                    Match(input, HEIRARCHY, FOLLOW_HEIRARCHY_in_document485);
                    PushFollow(FOLLOW_heirarchy_in_document496);
                    root = heirarchy(doc);
                    followingStackPointer_--;

                    doc.Root = root;
                    PushFollow(FOLLOW_motion_in_document507);
                    m = motion();
                    followingStackPointer_--;

                    doc.Motion = m;
                }
            }
            catch (RecognitionException re)
            {
                ReportError(re);
                Recover(input, re);
            }
            finally
            {
            }
            return(doc);
        }