void mini() { mmm(xnxt,ynxt,h,wm); iii(xnxt,ynxt,h,wi); nnn(xnxt,ynxt,h,wn); iii(xnxt,ynxt,h,wi); }
void guidance() { ggg(xnxt,ynxt,h,wg); uuu(xnxt,ynxt,h,wu); iii(xnxt,ynxt,h,wi); ddd(xnxt,ynxt,h,wd); aaa(xnxt,ynxt,h,wa); nnn(xnxt,ynxt,h,wn); ccc(xnxt,ynxt,h,wc); eee(xnxt,ynxt,h,we); }
void shooting() { sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); ooo(xnxt,ynxt,h,wo); ooo(xnxt,ynxt,h,wo); ttt(xnxt,ynxt,h,wt); iii(xnxt,ynxt,h,wi); nnn(xnxt,ynxt,h,wn); ggg(xnxt,ynxt,h,wg); }
void graphics() { ggg(xnxt,ynxt,h,wg); rrr(xnxt,ynxt,h,wr); aaa(xnxt,ynxt,h,wa); ppp(xnxt,ynxt,h,wp); hhh(xnxt,ynxt,h,wh); iii(xnxt,ynxt,h,wi); ccc(xnxt,ynxt,h,wc); sss(xnxt,ynxt,h,ws); }
void ashrith() { aaa(xnxt,ynxt,h,wa); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); hhh(xnxt,ynxt,h,wh); xnxt+=s/2; hhh(xnxt,ynxt,h,wh); xnxt+=s/2; ccc(xnxt,ynxt,h,wc); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); }
fourth() { n4(xnxt,ynxt,h,w4); fs(xnxt,ynxt); xnxt+=s/2; ggg(xnxt,ynxt,h,wg); aaa(xnxt,ynxt,h,wa); mmm(xnxt,ynxt,h,wm); eee(xnxt,ynxt,h,we); xnxt+=s/2; ooo(xnxt,ynxt,h,wo); vvv(xnxt,ynxt,h,wv); eee(xnxt,ynxt,h,we); rrr(xnxt,ynxt,h,wr); xnxt+=s/2; iii(xnxt,ynxt,h,wi); fff(xnxt,ynxt,h,wf); xnxt+=s/2; yyy(xnxt,ynxt,h,wy); ooo(xnxt,ynxt,h,wo); uuu(xnxt,ynxt,h,wu); xnxt+=s/2; mmm(xnxt,ynxt,h,wm); iii(xnxt,ynxt,h,wi); sss(xnxt,ynxt,h,ws); sss(xnxt,ynxt,h,ws); xnxt+=s/2; n5(xnxt,ynxt,h,w5); xnxt+=s/2; bbb(xnxt,ynxt,h,wb); aaa(xnxt,ynxt,h,wa); lll(xnxt,ynxt,h,wl); lll(xnxt,ynxt,h,wl); ooo(xnxt,ynxt,h,wo); ooo(xnxt,ynxt,h,wo); nnn(xnxt,ynxt,h,wn); sss(xnxt,ynxt,h,ws); }
void sir() { mmm(xnxt,ynxt,h,wm); rrr(xnxt,ynxt,h,wr); fs(xnxt,ynxt); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); iii(xnxt,ynxt,h,wi); ddd(xnxt,ynxt,h,wd); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); }
void shreeman() { sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); eee(xnxt,ynxt,h,we); mmm(xnxt,ynxt,h,wm); aaa(xnxt,ynxt,h,wa); nnn(xnxt,ynxt,h,wn); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n8(xnxt,ynxt,h,w8); n9(xnxt,ynxt,h,w9); }
void dhanush() { ddd(xnxt,ynxt,h,wd); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); nnn(xnxt,ynxt,h,wn); uuu(xnxt,ynxt,h,wu); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); xnxt+=s/2; aaa(xnxt,ynxt,h,wa); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n1(xnxt,ynxt,h,w1); n8(xnxt,ynxt,h,w8); }
void arahant() { aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); aaa(xnxt,ynxt,h,wa); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); nnn(xnxt,ynxt,h,wn); ttt(xnxt,ynxt,h,wt); xnxt+=s/2; aaa(xnxt,ynxt,h,wa); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n1(xnxt,ynxt,h,w1); n0(xnxt,ynxt,h,w0); }
void harsha() { sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); rrr(xnxt,ynxt,h,wr); eee(xnxt,ynxt,h,we); eee(xnxt,ynxt,h,we); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); rrr(xnxt,ynxt,h,wr); sss(xnxt,ynxt,h,ws); hhh(xnxt,ynxt,h,wh); aaa(xnxt,ynxt,h,wa); xnxt+=s/2; n1(xnxt,ynxt,h,w1); n1(xnxt,ynxt,h,w1); iii(xnxt,ynxt,h,wi); ttt(xnxt,ynxt,h,wt); n8(xnxt,ynxt,h,w8); n8(xnxt,ynxt,h,w8); }
int main( int argc, char ** argv ) { // 1. Angle brackets handling bug // As of now a2, a3 and a4 will be skipped int a1 = i < 7 ? i : 7; int a2 = 8; int a3 = 9; int a4 = p->data; int a5 = 8; // 2. Function pointer decl bug // As of now a6 will be skipped int ( *a6 )( int, char ** ) = &main; // 3. Wrong prototype will be written // As of now prototype will be ( SomeType ( p )( int ) ) int a7( short ( *p )( int ) ); // 4. DECL_IGNORE bug // As of now a8 will be skipped if ( argc > 0 ) return 0; short a8 = i; // 5. Local variables support // As of now all the identifiers below are either reported as prototypes, // or not recognized at all // The comments on the right specify which kind of tag should be generated const char *b1( "uuu" ); //variable int b2( int ooo, const char* o ); //prototype int b3( int( 7 ) ); //variable int c1( a >> ooo ); //variable int c2( int * h ); //prototype int c3( std::map<int>( 9 ) ); //variable int c4( std::map<int> a ); //prototype int c5( map<int> & a ); //prototype int c6( ooo & a ); //prototype int c7( int & a ); //prototype int c8( map<int> a ); //prototype int c9( int a ); //prototype ind d1( a * 2 ); //variable ind d2( "a" * 2 ); //variable int d3( *j ); //variable int f1( SomeType (*p)( int ) ); //prototype SomeType (*f2)( int o ); //variable int f3( std::map<int> & a ); //prototype int g1( SomeType a ); //prototype // As of now, the signature of h1 will be "( int a = R )", // 'R' is to be replaced by something clearer to denote a // string literal char h1( const char *a = "a" ); //prototype int h2(); //prototype char h3( double ); //prototype int h4( h u ); //prototype int (*p1)( int o ); //variable int v4( iii( 'o' ) ); //variable int v5( iii( o ) ); //variable int v6( int (*p)( int ) ); //prototype int v7( 89 ); //variable int v8( ooo ); //variable // __ARGS(x) is a compatibility macro which optionally // expands to x when prototypes are supported, so // w1 should be parsed as a prototype int w1 __ARGS (( int a )); //prototype int w2 (( a - 5 ) / 6 ); //variable int x1( a.b ); //variable int x2( a->b ); //variable int x3( NS::a b ); //prototype int x4( a ^ b ); //variable int x5( a ^ 6 ); //variable int x6( a | b ); //variable // As of now, x7 is not recognized at all; it should // give a variable tag but it's tricky to get it // right because of '&' which suggests a prototype, // so for now let's just ignore it //int x7( a & b & c ); //variable int x8( a & b & 2 ); //variable int x9( a && b ); //variable }
int C7( int & a ); //prototype int C8( map<int> a ); //prototype int C9( int a ); //prototype ind D1( a * 2 ); //variable ind D2( "a" * 2 ); //variable int D3( *j ); //variable int F1( SomeType (*p)( int ) ); //prototype SomeType (*F2)( int o ); //variable int F3( std::map<int> & a ); //prototype int G1( SomeType a ); //prototype char H1( const char *a = "a" ); //prototype int H2(); //prototype char H3( double ); //prototype int H4( h u ); //prototype int (*P1)( int o ); //variable int V4( iii( 'o' ) ); //variable int V5( iii( o ) ); //variable int V6( int (*p)( int ) ); //prototype int V7( 89 ); //variable int V8( ooo ); //variable int W1 __ARGS (( int a )){} //function int W2 (( a - 5 ) / 6 ); //variable int X1( a.b ); //variable int X2( a->b ); //variable int X3( NS::a b ); //prototype int X4( a ^ b ); //variable int X5( a ^ 6 ); //variable int X6( a | b ); //variable //int X7( a & b & c ); //variable int X8( a & b & 2 ); //variable int X9( a && b ); //variable
void FileDef::addIncludedUsingDirectives() { if (visited) return; visited=TRUE; //printf("( FileDef::addIncludedUsingDirectives for file %s\n",name().data()); NamespaceList nl; if (includeList) // file contains #includes { { QListIterator<IncludeInfo> iii(*includeList); IncludeInfo *ii; for (iii.toFirst();(ii=iii.current());++iii) // foreach #include... { if (ii->fileDef && !ii->fileDef->visited) // ...that is a known file { // recurse into this file ii->fileDef->addIncludedUsingDirectives(); } } } { QListIterator<IncludeInfo> iii(*includeList); IncludeInfo *ii; // iterate through list from last to first for (iii.toLast();(ii=iii.current());--iii) { if (ii->fileDef && ii->fileDef!=this) { // add using directives NamespaceSDict *unl = ii->fileDef->usingDirList; if (unl) { NamespaceSDict::Iterator nli(*unl); NamespaceDef *nd; for (nli.toLast();(nd=nli.current());--nli) { // append each using directive found in a #include file if (usingDirList==0) usingDirList = new NamespaceSDict; //printf("Prepending used namespace %s to the list of file %s\n", // nd->name().data(),name().data()); if (usingDirList->find(nd->qualifiedName())==0) // not yet added { usingDirList->prepend(nd->qualifiedName(),nd); } } } // add using declarations SDict<Definition> *udl = ii->fileDef->usingDeclList; if (udl) { SDict<Definition>::Iterator udi(*udl); Definition *d; for (udi.toLast();(d=udi.current());--udi) { //printf("Adding using declaration %s\n",d->name().data()); if (usingDeclList==0) { usingDeclList = new SDict<Definition>(17); } if (usingDeclList->find(d->qualifiedName())==0) { usingDeclList->prepend(d->qualifiedName(),d); } } } } } } } //printf(") end FileDef::addIncludedUsingDirectives for file %s\n",name().data()); }