private int lexAccidental() {
		switch (currentLine.charAt(0)) {
		case '^': {
			if (currentLine.charAt(1) == '^') {
				currentLine = currentLine.substring(2);
				return 2;
			} else {
				currentLine = currentLine.substring(1);
				return 1;
			}
		}
		case '_': {
			if (currentLine.charAt(1) == '_') {
				currentLine = currentLine.substring(2);
				return -2;
			} else {
				currentLine = currentLine.substring(1);
				return -1;
			}
		}
		case '=': {
			currentLine = currentLine.substring(1);
			return 0;
		}
		default: {
			throw new RuntimeException("invalid accidental");
		}
		}
	}