Buggy code:
public class MScriptCompiler { public static List < Token > lex ( String config , File file ) throws ConfigCompileException { config = config . replaceAll ( "\r\n" , "\n" ) ; config = config + "\n" ; List < Token > token_list = new ArrayList < Token > ( ) ; boolean state_in_quote = false ; boolean in_comment = false ; boolean comment_is_block = false ; boolean in_opt_var = false ; StringBuffer buf = new StringBuffer ( ) ; int line_num = 1 ; for ( int i = 0 ; i < ( config . length ( ) ) ; i ++ ) { Character c = config . charAt ( i ) ; Character c2 = null ; if ( i < ( ( config . length ( ) ) - 1 ) ) { c2 = config . charAt ( ( i + 1 ) ) ; } if ( c == '\n' ) { line_num ++ ; } if ( ( ( ( c == '#' ) || ( ( c == '//' ) && ( c2 == '*' ) ) ) && ( ! in_comment ) ) && ( ! state_in_quote ) ) { in_comment = true ; <START_BUG> if ( c2 == '*' ) { <END_BUG> comment_is_block = true ; i ++ ; } continue ; } if ( in_comment ) { if ( ( ( ! comment_is_block ) && ( c != '\n' ) ) || ( ( comment_is_block && ( c != '*' ) ) && ( ( c2 != null ) && ( c2 != '//' ) ) ) ) { continue ; } } if ( ( ( ( c == '*' ) && ( c2 == '//' ) ) && in_comment ) && comment_is_block ) { in_comment = false ; comment_is_block = false ; i ++ ; continue ; } if ( ( c == '[' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } token_list . add ( new Token ( TType . LSQUARE_BRACKET , "[" , line_num , file ) ) ; in_opt_var = true ; continue ; } if ( ( c == '=' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } if ( in_opt_var ) { token_list . add ( new Token ( TType . OPT_VAR_ASSIGN , "=" , line_num , file ) ) ; } else { token_list . add ( new Token ( TType . ALIAS_END , "=" , line_num , file ) ) ; } continue ; } if ( ( c == ']' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } token_list . add ( new Token ( TType . RSQUARE_BRACKET , "]" , line_num , file ) ) ; in_opt_var = false ; continue ; } if ( ( c == ':' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } token_list . add ( new Token ( TType . IDENT , ":" , line_num , file ) ) ; continue ; } if ( ( c == ',' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } token_list . add ( new Token ( TType . COMMA , "," , line_num , file ) ) ; continue ; } if ( ( c == '(' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . FUNC_NAME , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } token_list . add ( new Token ( TType . FUNC_START , "(" , line_num , file ) ) ; continue ; } if ( ( c == ')' ) && ( ! state_in_quote ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } token_list . add ( new Token ( TType . FUNC_END , ")" , line_num , file ) ) ; continue ; } if ( ( ( Character . isWhitespace ( c ) ) && ( ! state_in_quote ) ) && ( c != '\n' ) ) { if ( ( buf . length ( ) ) > 0 ) { token_list . add ( new Token ( TType . UNKNOWN , buf . toString ( ) , line_num , file ) ) ; buf = new StringBuffer ( ) ; } }

Fix:
if ( ( c == '//' ) && ( c2 == '*' ) ) {