From 73c184a68fc96df8c4444b7541fd2a90144f62c4 Mon Sep 17 00:00:00 2001 From: "Safey A.Halim" Date: Thu, 11 Nov 2010 22:04:04 +0000 Subject: A simple C program to test Seaspider. --- .../seaspider/org/gnunet/seaspider/SeaspiderTest.c | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c (limited to 'src/monkey') diff --git a/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c b/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c new file mode 100644 index 000000000..1a44d2135 --- /dev/null +++ b/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c @@ -0,0 +1,82 @@ +/** + * @file seaspider/SeaspiderTest.c + * @brief C file to test Seaspider's parsing + */ + +/* include */ +#include + + +#define PRE_PROC_DIR 0 + +struct MyStruct { + int member; + struct MyStruct *part; +}; + + +enum MyEnum{ + enumMember1, + enumMember2, + enumMember3 +}; + + +static int fun(int arg1, int arg2) +{ + return arg1 + arg2; +} + + +int main(int args, const char * argv[]) +{ + /* variables declarations */ + struct MyStruct whole; + struct MyStruct part; + enum MyEnum myEnum; + int i; + int x, y; + + /* Allocations and assignments */ + whole.member = 1; + whole.part = ∂ + whole.part->member = 2; + myEnum = enumMember3; + x = 0, y = 1; + + /* block */ + { + /* arithmetic and logic operations */ + float f = 20.0; + whole.part->member = (int)(whole.part->member + 5) - 6; // cast - multilevel assignment + } + + /* for loop */ + for (i = 0; i < 2; i++) { + /* conditional expressions */ + if ( x > 0) { + while (y < 5) { + y++; + } + } else if (x > 0 || y == 4) { + do { + y--; + } while (y != 1); + } + else { + switch (myEnum) { + case enumMember1: + fun(enumMember1, enumMember2); + break; + case enumMember2: + fun(enumMember1, enumMember2 ? enumMember2 : enumMember1); // ternary operator + break; + default: + fun(enumMember1, PRE_PROC_DIR); // preprocessing directive + break; + } + } + } + + return 1; +} -- cgit v1.2.3