private static IFuzzyCommand parseOperator(String[] tokens) throws FuzzyParserException {
		if(!tokens[0].equals("set") || !tokens[3].equals("to")) {
			throw new FuzzyParserException("Illegal command format!");
		}
		
		String sign = tokens[2];
		String opID = tokens[4];
		IOperator operator;
		
		switch(opID) {
		case "ZadehS":
			operator = new ZadehS(sign);
			break;
			
		case "ZadehT":
			operator = new ZadehT(sign);
			break;
			
		case "ZadehNot":
			operator = new ZadehNot(sign);
			break;
			
		case "Mamdani":
			operator = new MamdaniMin(sign);
			break;

		default:
			try {
				double v = Double.parseDouble(opID.substring(11, opID.length() - 1));
				
				if(opID.startsWith("HammacherS")) {
					operator = new HammacherS(sign, v);
					break;
				} else if(opID.startsWith("HammacherT")) {
					operator = new HammacherT(sign ,v);
					break;
				}
			} catch(Exception ignorable) {}
			
			throw new FuzzyParserException("Unknown operator!");
		}
			
		return new SetOperatorCommand(operator);
	}