question: private String base_phone_number ( ) throws ParseException { StringBuilder s = new StringBuilder ( ) ; if ( debug ) dbg_enter ( "base_phone_number" ) ; try { int lc = 0 ; while ( lexer . hasMoreChars ( ) ) { char w = lexer . lookAhead ( 0 ) ; if ( Lexer . isDigit ( w ) || w == '-' || w == '.' || w == '(' || w == ')' ) { lexer . consume ( 1 ) ; s . append ( w ) ; lc ++ ; } else if ( lc > 0 ) break ; else throw createParseException ( "unexpected " + w ) ; } return s . toString ( ) ; } finally { if ( debug ) dbg_leave ( "base_phone_number" ) ; } }
target:  Parser for the base phone number.