⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 implementation.cc

📁 由matlab开发的hybrid系统的描述语言
💻 CC
字号:
/*	HYSDEL	Copyright (C) 1999-2002  Fabio D. Torrisi	This file is part of HYSDEL.    	HYSDEL is free software; you can redistribute it and/or	modify it under the terms of the GNU General Public	License as published by the Free Software Foundation; either	version 2 of the License, or (at your option) any later version.	HYSDEL is distributed in the hope that it will be useful,	but WITHOUT ANY WARRANTY; without even the implied warranty of	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU	General Public License for more details.	You should have received a copy of the GNU General Public	License along with this library; if not, write to the Free Software	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA	CONTACT INFORMATION	===================	Fabio D. Torrisi	ETH Zentrum	Physikstrasse. 3 ETL,	CH-8032 Zurich	Switzerland	mailto:torrisi@aut.ee.ethz.ch (preferred)*/#include "Implementation.h"#include "MLD_representation.h"#include "Section.h"#include "Symbol_table.h"#include "Globals.h"Implementation::Implementation(list < Section * > * l, const Globals * glob) {	sections = l;	globals = glob;}string Implementation::checks() {	string res;	for (sections_iter iter = sections->begin(); iter != sections->end();		iter++) {			(* iter)->comp_group_numbers(); // not really a ckeck			(* iter)->semantic_checks();			res += (* iter)->arg_range_check_matlab();	}	return res;}void Implementation::prepare_translate_MLD() {	Section * unroll;	for (sections_iter iter = sections->begin(); iter != sections->end();		iter++) {			// careful: maybe first unroll and then minmaxeps?			(* iter)->compute_minmaxeps();			unroll = (* iter)->unroll();			if (unroll) {				unroll->comp_group_numbers();				unroll->semantic_checks(); // hopefully redundant -> remove				unroll->compute_minmaxeps();				sections->push_back(unroll);		}	}}MLD_representation * Implementation::translate_MLD() const {	sections_iter iter;	MLD_representation * mld, * mld_add;	mld = new MLD_representation(globals);	for (iter = sections->begin(); iter != sections->end(); iter++) {		mld_add = (* iter)->translate_MLD();		mld->merge(mld_add);	}	return mld;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -