void outputSetToVal(const ioPort *out, uint8_t val) { if(val) outputSet(out); else outputClear(out); }
void MainWindow::set() { setDialog->show(); setDialog->saveSetPath = projectPath; isConfigured = true; connect(setDialog,SIGNAL(outputSet()),this,SLOT(getSetInfo())); }
/* Parser parsing * create first follow nullable and table then parsing token * finally output parsing tree * */ void Parser:: startParsing(vector<Token*> tokens){ vector<Nonterminal*>::iterator itr; vector<list<string> > starting_Production; list<string> body; //find nullable for( itr = non_terminals.begin(); itr!= non_terminals.end(); ++itr ){ (*itr) -> nullable = nullable( (*itr) -> term ); } // add a production: S -> Program $ Nonterminal* startState = new Nonterminal("S"); startState -> nullable = non_terminals[0] -> nullable; non_terminals.push_back( startState ); body.push_back( non_terminals[0]-> term ); body.push_back( "$" ); starting_Production.push_back(body); grammar.insert( make_pair("S", starting_Production) ); //find first for( itr = non_terminals.begin(); itr!= non_terminals.end(); ++itr ){ if ( (*itr) -> first.empty() ){ (*itr) -> first = first( (*itr) -> term ); } } set<string>:: iterator itr2; //find follow follow(); //output set.txt include nullable first and follow outputSet(); // build Parsing table by if nullalbe is exist for(itr = non_terminals.begin(); itr != non_terminals.end(); ++itr){ if( (*itr)->nullable ){ for(set<string>::iterator follow_itr = (*itr) -> follow.begin(); \ follow_itr != (*itr) -> follow.end(); ++follow_itr ){ if( (*itr)->first.find( (*follow_itr) ) == (*itr)->first.end() ){ map<string, map<string, int> >::iterator non_terminal_find_itr = parsingTable.find( (*itr)-> term ); if ( non_terminal_find_itr == parsingTable.end() ){ //parsingTable.insert( make_pair((*itr), ) ); } else{ non_terminal_find_itr -> second.insert( make_pair(*follow_itr, (*itr)-> production_nullable ) ); } } } } } // output table outputParingTable(); // create Parsing Tree and ouput it createParsingTree(tokens); }
void lldLedSend(RegsChainDescriptor* interface) { uint8_t i; uint8_t j; outputClear(interface->clk_);//clock falling edge outputClear(interface->oe_);//set OE to low for(i = 0; i < interface->regsNum_; i++) { for (j = 0; j < 8; j++) { outputClear(interface->clk_);//clock falling edge outputSetToVal(interface->data_, (0x01 & (interface->buffer_[(interface->regsNum_ - 1) - i] >> (7-j)))^LED_ON); outputSet(interface->clk_);//clock rising edge } } outputSet(interface->oe_);//set OE to high }
Set::Set(QMainWindow *parent) : QDialog(parent), set(new Ui::SetDialog) { set->setupUi(this); createConfigurationFile(); connect(set->buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(createConfigurationFile())); connect(set->buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), SIGNAL(outputSet())); connect(set->buttonBox->button(QDialogButtonBox::Ok),SIGNAL(clicked()), this, SLOT(hide())); connect(set->buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(createConfigurationFile())); connect(set->buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), SIGNAL(outputSet())); connect(set->buttonBox->button(QDialogButtonBox::Cancel),SIGNAL(clicked()),this,SLOT(hide())); }
int JSampleObj::outputType(int n) { int type = JDataType::last; JLinkObj* link = (JLinkObj*)inputSet(n+IN_LAST).first(); if (link) { if (!typeCounter++) type = link->from->outputType(link->fn); typeCounter--; } if (type == JDataType::last) { link = (JLinkObj*)outputSet(n).first(); if (link) { if (!typeCounter++) type = link->to->inputType(link->tn); typeCounter--; } } return type; }