/* ioctl dispatch */ static int myioctl(struct inode *inode, struct file *f, unsigned int msg, unsigned long param) { switch (msg) { case kChanEvents: ChanEvents(); break; case kCommonEvents: CommonEvents(); break; case kSystemeEx: SystemeEx (); break; case kStream: Stream(); break; case kPrivate: Private(); break; case kProcess: Process(); break; case kQFToMidiFile: QFToMidiFile(); break; case kMidiFile: MidiFile(); break; case kReserved: Reserved(); break; case kOpen: OpenAppls(); break; case kClose: Close(); break; } return 0; }
BitVector AVRRegisterInfo::getReservedRegs(const MachineFunction &MF) const { BitVector Reserved(getNumRegs()); // Reserve the intermediate result registers r1 and r2 // The result of instructions like 'mul' is always stored here. Reserved.set(AVR::R0); Reserved.set(AVR::R1); Reserved.set(AVR::R1R0); // Reserve the stack pointer. Reserved.set(AVR::SPL); Reserved.set(AVR::SPH); Reserved.set(AVR::SP); // We tenatively reserve the frame pointer register r29:r28 because the // function may require one, but we cannot tell until register allocation // is complete, which can be too late. // // Instead we just unconditionally reserve the Y register. // // TODO: Write a pass to enumerate functions which reserved the Y register // but didn't end up needing a frame pointer. In these, we can // convert one or two of the spills inside to use the Y register. Reserved.set(AVR::R28); Reserved.set(AVR::R29); Reserved.set(AVR::R29R28); return Reserved; }
// add a node with a list of neighbors // (use TNGraphMP::IsOk to check whether the graph is consistent) void TNEANetMP::AddNodeWithEdges(const TInt& NId, TIntV& InEIdV, TIntV& OutEIdV) { int NodeIdx = abs((NId.GetPrimHashCd()) % Reserved()); int NodeKeyId = NodeH.AddKey13(NodeIdx, NId); NodeH[NodeKeyId] = TNode(NId); NodeH[NodeKeyId].InEIdV.MoveFrom(InEIdV); NodeH[NodeKeyId].OutEIdV.MoveFrom(OutEIdV); }
TInt FloggerConnect(const TDesC& aDir, const TDesC& aName) { TAny* arg1 = NULL; TInt err = Reserved(0xF10C10, arg1, NULL); // Does the connect if (!err) { err = DoSetTags(aDir, aName); } return err; }
static void initNames (void) { static const struct { const char * name; int lex; } names [] = { { "def", DEF }, { "let", LET }, { "load", LOAD }, { "save", SAVE }, { 0 }}, * np = names; while (np -> name) install(table, new(Reserved(), np -> name, np -> lex)), ++ np; }
//--------------------------------------------------------------------------- void File_Dirac::Data_Parse() { //Parsing switch (Element_Code) { case 0x00 : Sequence_header(); break; case 0x10 : End_of_Sequence(); break; case 0x20 : Auxiliary_data(); break; case 0x30 : Padding_data(); break; case 0x0C : Intra_Reference_Picture(); break; case 0x08 : Intra_Non_Reference_Picture(); break; case 0x4C : Intra_Reference_Picture_No(); break; case 0x48 : Intra_Non_Reference_Picture_No(); break; case 0x0D : Inter_Reference_Picture_1(); break; case 0x0E : Inter_Reference_Picture_2(); break; case 0x09 : Inter_Non_Reference_Picture_1(); break; case 0x0A : Inter_Non_Reference_Picture_2(); break; case 0xCC : Reference_Picture_Low(); break; case 0xC8 : Intra_Non_Reference_Picture_Low(); break; default : Reserved(); } }
//------------------------------------------------------------------------------------------------------------------- //词法分析 void go(LinkQueue &hWord) { //hWord=new LinkList; hWord->front=hWord->rear=new word; hWord->front->next=NULL; ifstream ifile("hello.txt",ios_base::in); if(ifile) { cout<<"文件打开成功!"<<endl; while(ifile.good()) { char ch[101]; ifile.getline(ch,100); string line(ch); int i=0,j=0; int b,select; while(line[j]) { if((line[j]>='0'&&line[j]<='9')||(line[j]>='a'&&line[j]<='z')||(line[j]>='A'&&line[j]<='Z')) { j++; continue; } else { string str; b=Border(line[j],hWord);//判断该字符是否为界符或者运算符 if(!b&&line[j]!=' ')//j位置的字符既不是界符也不是运算符 并且不是空格 则不截取 { ; }//if else { int num=0; str=line.substr(i,j-i); if(str[0]>='0'&&str[0]<='9') select=Constant(str,hWord);//判断是否为合法数字 else select=Reserved(str,hWord);//判断是保留字还是标识符 }//else string s=line.substr(j,1); if(select==40) add(hWord,str,"数字",select); else if(select==41) add(hWord,str,"标识符",select); else if(select>=1&&select<=19) add(hWord,str,"保留字",select); else ; if(s!=" ") { if(b>=20&&b<=27) add(hWord,s,"界符",b); else if(b>=28&&b<=34) add(hWord,s,"运算符",b); } }//else i=++j; }//while(str[j]) }//while(ifile.good()) }//if else { cout<<"文件打开失败"<<endl; return; } }