getTokenParam method

bool getTokenParam(
  1. ClipParam param
)

Implementation

bool getTokenParam( ClipParam param ){
	if( _get == null ){
		return false;
	}

	if( _get!._code == ClipGlobal.codeLabel ){
		// 重要:関数、ローカル、グローバルの順にチェックすること!
		if( param.func().search( _get!._token, false, null ) != null ){
			// 関数
			_getCode = _get!._code;
		} else if( param.variable().label().checkLabel( _get!._token ) >= 0 ){
			// ローカル変数
			_getCode = ClipGlobal.codeAutoVar;
		} else if( param.array().label().checkLabel( _get!._token ) >= 0 ){
			// ローカル配列
			_getCode = ClipGlobal.codeAutoArray;
		} else if( ClipProc.globalParam().variable().label().checkLabel( _get!._token ) >= 0 ){
			// グローバル変数
			_getCode = ClipGlobal.codeGlobalVar;
		} else if( ClipProc.globalParam().array().label().checkLabel( _get!._token ) >= 0 ){
			// グローバル配列
			_getCode = ClipGlobal.codeGlobalArray;
		} else {
			MathValue value = MathValue();
			if( stringToValue( param, _get!._token, value ) ){
				_get!._code  = ClipGlobal.codeConstant;
				_get!._token = value;
			}
			_getCode = _get!._code;
		}
	} else {
		_getCode = _get!._code;
	}
	_getToken = _get!._token;

	_get = _get!._next;
	return true;
}