process method

bool process(
  1. ClipParam param,
  2. ParamInteger err
)

Implementation

bool process( ClipParam param, ParamInteger err ){
	ClipLineData? line;

	if( (line = _procLine!.getLine()) == null ){
		return false;
	}

	// 置き換え
	ClipTokenData? cur = line!.token()!.top();
	if( cur != null ){
		if( (cur.code() != ClipGlobal.codeCommand) || ((cur.token() != ClipGlobal.commandUse) && (cur.token() != ClipGlobal.commandUnuse)) ){
			while( cur != null ){
				switch( cur.code() ){
				case ClipGlobal.codeLabel:
				case ClipGlobal.codeFunction:
				case ClipGlobal.codeExtFunc:
					param.replace( cur );
					break;
				}
				cur = cur.next();
			}
		}
	}

	if( !_regProcess( line, err ) ){
		return false;
	}
	if( !_process( param, err ) ){
		return false;
	}

	if( err.val() >= ClipGlobal.errStart ){
		if( _quitFlag ){
			_errorProc( err.val(), _curLine.num(), param, _errCode, _errToken );
		} else if( err.val() == ClipGlobal.loopStop ){
		} else {
			_errorProc( err.val(), _curLine.num(), param, _errCode, _errToken );
		}
	}

	if( (_statMode == _statModeNotStart) && (_stat != null) ){
		// 制御構造管理クラスを消去する
		_stat = null;
	}

	return true;
}