private void readProgramText(ObjectModule module) throws SyntaxException {
		int codeCount = 0;
		char instrType = ' ';
		int instr = 0;
		calLocation();

		
		if (scanner.hasNextInt()) {
			codeCount = scanner.nextInt();
			instrCount += codeCount;
			if (instrCount > 512) {
				throw new SyntaxException("Parse Error line " + lineNum 
						+ " offset " + offset + ": " + SyntaxError.TO_MANY_INSTR);
			}
		} else {
			throw new SyntaxException("Parse Error line " + lineNum 
					+ " offset " + offset + ": " + SyntaxError.NUM_EXPECTED);
		}

		module.setCodeCount(codeCount);

		for (int i = 0; i < codeCount; i++) {
			calLocation();

			if (scanner.hasNext("R|I|E|A")) {
				instrType = scanner.next().charAt(0); // check type here
			} else {
				throw new SyntaxException("Parse Error line " + lineNum 
						+ " offset " + offset + ": " + SyntaxError.INSTR_TYPE_EXPECTED);
			}

			calLocation();

			if (scanner.hasNextInt()) {
				instr = scanner.nextInt();
			} else {
				throw new SyntaxException("Parse Error line " + lineNum 
						+ " offset " + offset + ": " + SyntaxError.ADDR_EXPECTED);
			}

			InstructionPair ip = new InstructionPair(instrType, instr);
			module.codeList.add(ip);
		}
	}