private SolutionData getSymbolScalar(String name, String type) {

		/*
		 * Each solution data is of type: EQU or VAR Begin with ---- Terminate
		 * with ---- or **** (Summary report) *
		 */
		String regex = String.format("---- %s %s\\s+(.*?)(-{4}|\\*{4})", type,
				name);

		// System.out.println(regex);

		Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);

		Matcher m = pattern.matcher(text);

		if (!m.find()) {
			System.err.printf("Unable to find symbol :%s %s\n", type, name);
			return null;
		}

		SolutionData data = new SolutionData();
		data.setName(name);
		data.setDimension(0);

		String lines[] = m.group(1).split("\n");

		// first line is values
		String[] values = lines[0].split("\\s+");
		if (values.length < 4) {
			System.err.println("Parsing error: " + lines[0]);
			return null;
		}

		SolutionRow row = new SolutionRow();
		row.setLower(GAMSUtil.parseDouble(values[0]));
		row.setLevel(GAMSUtil.parseDouble(values[1]));
		row.setUpper(GAMSUtil.parseDouble(values[2]));
		row.setMarginal(GAMSUtil.parseDouble(values[3]));
		data.addRow(row);

		// extract description
		for (int i = 1; i < lines.length; i++) {
			String line = lines[i].trim();
			if (line.length() == 0)
				continue;
			if (line.startsWith(name)) {
				// found description line
				String description = line.substring(name.length());
				description = description.trim();
				data.setDescription(description);
				// System.out.println("Desc: " + description);
				break;
			}
		}
		// System.out.printf("Value: %f %f %f %f \n", row.getLower(),
		// row.getLevel(), row.getUpper(), row.getMarginal());

		return data;
	}