// <readstatement> ::= READ ( <input variable> { , <input variable> } ) void SyntaxAnalyzer::readStatement(std::set<symboltype> followers) { accept(readsy); accept(leftparent); inputVariable(); while (symbol == comma) { accept(comma); inputVariable(); } accept(rightparent); } // readstatement( )
void FllImporter::processInputVariable(const std::string& block, Engine* engine) const { std::istringstream reader(block); std::string line; FL_unique_ptr<InputVariable> inputVariable(new InputVariable); while (std::getline(reader, line)) { std::pair<std::string, std::string> keyValue = parseKeyValue(line, ':'); if ("InputVariable" == keyValue.first) { inputVariable->setName(Op::validName(keyValue.second)); } else if ("enabled" == keyValue.first) { inputVariable->setEnabled(parseBoolean(keyValue.second)); } else if ("range" == keyValue.first) { std::pair<scalar, scalar> range = parseRange(keyValue.second); inputVariable->setRange(range.first, range.second); } else if ("lock-range" == keyValue.first) { inputVariable->setLockValueInRange(parseBoolean(keyValue.second)); } else if ("term" == keyValue.first) { inputVariable->addTerm(parseTerm(keyValue.second, engine)); } else { throw Exception("[import error] key <" + keyValue.first + "> not " "recognized in pair <" + keyValue.first + ":" + keyValue.second + ">", FL_AT); } } engine->addInputVariable(inputVariable.release()); }
void inputVariablesOfSubSystem2( vector< Variable* > &subvar2 ) { inputVariable( subvar2, "TYPE", TYPE_SUBSYS2 ); inputVariable( subvar2, "SHAPE", SHAPE_SUBSYS2 ); inputVariable( subvar2, "LENGTHX", LENGTHX_SUBSYS2 ); inputVariable( subvar2, "LENGTHY", LENGTHY_SUBSYS2 ); inputVariable( subvar2, "LENGTHZ", LENGTHZ_SUBSYS2 ); inputVariable( subvar2, "SURFACEX", SURFACEX_SUBSYS2 ); inputVariable( subvar2, "SURFACEY", SURFACEY_SUBSYS2 ); inputVariable( subvar2, "SURFACEZ", SURFACEZ_SUBSYS2 ); inputVariable( subvar2, "ORIGINX", ORIGINX_SUBSYS2 ); inputVariable( subvar2, "ORIGINY", ORIGINY_SUBSYS2 ); inputVariable( subvar2, "ORIGINZ", ORIGINZ_SUBSYS2 ); inputVariable( subvar2, "xL_pos", XL_POS_SUBSYS2 ); inputVariable( subvar2, "SOURCE", SOURCE_SUBSYS2 ); inputVariable( subvar2, "VACANT", VACANT_SUBSYS2 ); inputVariable( subvar2, "A", A_SUBSYS2 ); inputVariable( subvar2, "B", B_SUBSYS2 ); inputVariable( subvar2, "C", C_SUBSYS2 ); }
void inputVariablesOfMainSystem( vector< Variable* > &var ) { inputVariable( var, "TYPE", TYPE_MAINSYS ); inputVariable( var, "SHAPE", SHAPE ); inputVariable( var, "LENGTHX", LENGTHX ); inputVariable( var, "LENGTHY", LENGTHY ); inputVariable( var, "LENGTHZ", LENGTHZ ); inputVariable( var, "SURFACEX", SURFACEX ); inputVariable( var, "SURFACEY", SURFACEY ); inputVariable( var, "SURFACEZ", SURFACEZ ); inputVariable( var, "ORIGINX", ORIGINX ); inputVariable( var, "ORIGINY", ORIGINY ); inputVariable( var, "ORIGINZ", ORIGINZ ); inputVariable( var, "N_cells", N_CELLS ); }