gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r13651 - gnunet/src/monkey/seaspider/org/gnunet/seaspider


From: gnunet
Subject: [GNUnet-SVN] r13651 - gnunet/src/monkey/seaspider/org/gnunet/seaspider
Date: Thu, 11 Nov 2010 23:04:04 +0100

Author: safey
Date: 2010-11-11 23:04:04 +0100 (Thu, 11 Nov 2010)
New Revision: 13651

Added:
   gnunet/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c
Log:
A simple C program to test Seaspider.

Added: gnunet/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c
===================================================================
--- gnunet/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c            
                (rev 0)
+++ gnunet/src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c    
2010-11-11 22:04:04 UTC (rev 13651)
@@ -0,0 +1,82 @@
+/**
+ * @file seaspider/SeaspiderTest.c
+ * @brief C file to test Seaspider's parsing
+ */
+
+/* include */
+#include <stdio.h>
+
+
+#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 = &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;
+}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]