Beispiel #1
0
/* 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;
}
Beispiel #2
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;
}
Beispiel #3
0
// 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);
}
Beispiel #4
0
	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;
		}
Beispiel #5
0
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;
}
Beispiel #6
0
//---------------------------------------------------------------------------
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();
    }
}
Beispiel #7
0
//-------------------------------------------------------------------------------------------------------------------
//词法分析
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;
	}

}