Snippet 1: beginning = position + 1; while(1){ position++; if(position == code.length) throw new Exception("Reached EOF while lexing; Quoted"); if(code[position] == '"') queue = code[beginning..position]; position++; goto makeOperator; if(code[position] == '\n') line++; } Snippet 2: beginning = position + 1; while(1){ position++; if(position == code.length) throw new Exception("Reached EOF while lexing; Quoted"); switch(code[position]){ case '"': queue = code[beginning..position]; position++; goto makeOperator; case '\n': line++; default: break; } }