protected void evalDefinitions(String[] command) {
		Matcher matcher;
		boolean isStatic = false;
		for (String ci : command) {
			ci = ci.trim();
			if (ci.equals(""))
				continue;
			if (ci.toLowerCase().startsWith("static")) {
				ci = ci.substring(6).trim();
				isStatic = true;
			}
			else {
				isStatic = false;
			}
			matcher = DEFINE_VAR.matcher(ci);
			if (matcher.find()) {
				int end = matcher.end();
				String variable = ci.substring(ci.indexOf("%"), end).toLowerCase();
				String value = ci.substring(end).trim().toLowerCase();
				if (value.startsWith("<t>")) {
					String s;
					if (value.endsWith("</t>")) {
						s = value.substring(3, value.length() - 4);
					}
					else {
						s = value.substring(3);
					}
					if (isStatic) {
						storeSharedDefinition(variable, s);
					}
					else {
						definition.put(variable, s);
					}
				}
				else if (value.startsWith("array")) {
					String size = value.substring(5).trim();
					size = size.substring(1, size.length() - 1);
					double x = parseMathExpression(size);
					if (Double.isNaN(x))
						return;
					createArray(variable, (int) Math.round(x));
				}
				else {
					evaluateDefineMathexClause(isStatic, variable, value);
				}
			}
		}
	}