private void compileStructFields(StructType structType)
	                          throws ParseException, IOException
	{
		do {
			// <data-type>		
			Type type = compileDataType();

			// <field-name>
			if (tokenizer.tokenType() != Tokenizer.IDENTIFIER) {
				throw new ParseException("field name is excepted after type",
				                         tokenizer.lineNumber());
			}

			structType.addField(tokenizer.getIdentifier(), type);

			advance("program not ended");

			// ,
			if ((tokenizer.tokenType() != Tokenizer.SYMBOL) ||
				    (tokenizer.symbol() != ',')) {
				break;
			}

			advance("program not ended");
		} while (true);
	}