Filter < S > parseRoot ( ) { Filter < S > filter = parseFilter ( ) ; int c = nextCharIgnoreWhitespace ( ) ; if ( c >= 0 ) { mPos -- ; throw error ( "Unexpected trailing characters" ) ; } return filter ; }
all rolled into one . This is okay since the grammar is so simple .