final FEMFunction _compileFrame_() throws IllegalArgumentException {
		this.skip();
		int count = 0;
		while (true) {
			if (this._compileType_() < 0) throw this._illegal_(null, "");
			final String name = this._compileName_();
			if (name != null) {
				if (this._compileIndex_(name) >= 0) throw this._illegal_(null, " Parametername erwartet.");
				this._params_.add(count++, name);
			}
			switch (this._compileType_()) {
				case ';': {
					if (name == null) throw this._illegal_(null, " Parametername oder Zeichen «:» erwartet.");
					this.skip();
					break;
				}
				case ':': {
					this.skip();
					final FEMFunction result = this._compileParamAsFunction_();
					if (this._compileType_() != '}') throw this._illegal_(null, " Zeichen «}» erwartet.");
					this.skip();
					this._params_.subList(0, count).clear();
					return result;
				}
				default: {
					throw this._illegal_(null, "");
				}
			}
		}
	}