private Boolean constructSourceSkeleton(String glslSource) {

		StringTokenizer tokenizer = new StringTokenizer(glslSource, " \r\n\t;{");

		while(tokenizer.hasMoreTokens()) {

			String token = tokenizer.nextToken();

			if(token.equals("#version")) {
				version = tokenizer.nextToken();
			} else if(token.equals("in")) {
				inAttributes.add(parseAttribute(tokenizer));
			} else if(token.equals("out")) {
				outAttributes.add(parseAttribute(tokenizer));
			} else if(token.equals("uniform")) {
				uniformAttributes.add(parseAttribute(tokenizer));
			} else if(token.equals("struct")) {
				GLSLStructure structure = parseStructure(tokenizer);
				structures.put(structure.getName(), structure);
			}
		}

		return true;
	}