diff options
author | Nils Fuhrmann <nf@openoffice.org> | 2001-04-19 07:20:23 +0000 |
---|---|---|
committer | Nils Fuhrmann <nf@openoffice.org> | 2001-04-19 07:20:23 +0000 |
commit | 4f4b74153d27a9579c49b225b2690e7f9416fe78 (patch) | |
tree | 807b60b14c95da14c1eae07a359970ebdb325830 /soltools/cpp/Test.txt | |
parent | 12430b86c68efcefdd0ae854a75f57460a9b09a3 (diff) |
Moved cpp from cpp to soltools
Diffstat (limited to 'soltools/cpp/Test.txt')
-rw-r--r-- | soltools/cpp/Test.txt | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/soltools/cpp/Test.txt b/soltools/cpp/Test.txt new file mode 100644 index 000000000000..62c1ae40f218 --- /dev/null +++ b/soltools/cpp/Test.txt @@ -0,0 +1,101 @@ + +#define ABC \ + ggg + +ABC + +/* Standards --------------------------------------------------------------- */ + +#define NOTHING +NOTHING + +#define SYMBOL symbol +#undef SYMBOL +#define SYMBOL _symbol_ + +< SYMBOL > // < _symbol_ > +xSYMBOLx // xSYMBOLx ++SYMBOL- // +_symbol_- +>SYMBOL< // >_symbol_< +<SYMBOL> // <_symbol_> + +#define FALSE 0 +#define TRUE !FALSE +a = x > 0 ? TRUE : FALSE // a = x > 0 ? !0 : 0 + +#define A x +#define B y +#define MAC(a, b) \ + T() { a(); return b; } // T() { x(); return y; } +MAC(A,B); + +#ifdef MAC +MAC(X,Y) +#endif // MAC + +/* Recursions -------------------------------------------------------------- */ + +#define y x +#define x y +x // x + +#define Test(a) a +#define b Test(b) +a = b; // a = b; + +#define func abc(func) +a = func // a = abc(func) + +#define func1 func(abc) +a = func1 // a = abc(func)(abc) + +#define args(func, args) func args +args(t1, (args(t2, (x, y)))) // t1 (t2 (x, y)) + +#define ARGS(a) a +#define __ ARGS +int foo __((int x)); // int foo (int x); + +/* Concatinations ---------------------------------------------------------- */ + +#define tail _Test +// Txt_##tail // Txt_##_Test + +#define z(e,f) e##_##f +z ( abc, xyz ) // abc_xyz + + +#define CAT( var ) fix##.var +CAT( a ) // fix.a + +#define CAT3( class, ref ) class##ref::class##ref +CAT3( a, b ) // ab::ab + +#define CAT2( var ) fix##var::fix##var +CAT2( a ) // fixa::fixa + +/* Extrems ----------------------------------------------------------------- */ + +#define MAKE_X( name ) name##_Test +#define MAKE_Y( name ) MAKE_X( name##_Sym ) +MAKE_Y( Txt ); // Txt_Sym_Test; + + +/* Extensions -------------------------------------------------------------- */ + +/* +#ident "(c)# Test.txt" + +#if #machine(i386) +# error illegal machine +#endif +char machine[6]; +*/ + +/* Last bug ----------------------------------------------------------------- */ +#define Cfstrcpy Cstrcpy +#define Cstrcpy( s1, s2 ) strcpy( s1, s2 ) + +Cfstrcpy(Par1,Par2 ) // blub( Par1, Par2 ) + +/* ---------------------------------------------------------------------- */ |