include branch image, make new branch unisolid
[supertux.git] / tools / miniswig / parser.yy
index 8728b87..f992fc7 100644 (file)
@@ -1,4 +1,5 @@
 %{
+#include <config.h>
 
 #include <iostream>
 #include <sstream>
@@ -69,6 +70,8 @@ private:
 %token T_CLASS
 %token T_STRUCT
 %token T_STATIC
+%token T_SUSPEND
+%token T_CUSTOM
 %token T_CONST
 %token T_UNSIGNED
 %token T_SIGNED
@@ -298,15 +301,23 @@ function_declaration:
             current_function->docu_comment = last_docucomment;
             last_docucomment = "";
         }                           
-    parameter_list ')' maybe_const abstract_declaration ';'
+    parameter_list ')' function_attributes abstract_declaration ';'
         {
             $$ = current_function;
         }
 ;
 
-maybe_const:
+function_attributes:
     /* empty */
-    | T_CONST
+    | T_CONST function_attributes
+    | T_CUSTOM function_attributes
+      {
+        current_function->custom = true;
+      }
+    | T_SUSPEND function_attributes
+      {
+        current_function->suspend = true;
+      }
 ;
 
 abstract_declaration: