class Parser {

	static Integer[] processStoichiometryIndication(String ratioString) throws ParsingException {
		ratioString = ratioString.trim();
		ratioString = ratioString.substring(1, ratioString.length()-1);
		String[] ratioStrings = ratioString.split(":");
		if (ratioStrings.length ==1){
			ratioStrings = ratioString.split("/");
		}
		Integer[] componentRatios = new Integer[ratioStrings.length];
		for (int i = 0; i < ratioStrings.length; i++) {
			String currentRatio = ratioStrings[i];
			if (currentRatio.contains("/")){
				throw new ParsingException("Unexpected / in component ratio declaration");
			}
			if (currentRatio.equals("?")){
				componentRatios[i] = 1;
			}
			else{
				componentRatios[i] = Integer.parseInt(currentRatio);
			}
		}
		return componentRatios;
	}

	  Parser();
	  Parser(WordRules wordRules, Tokeniser tokeniser, ResourceManager resourceManager);

}