Diff of /c2iec.y [dc5195] .. [1f6122]  Maximize  Restore

Switch to side-by-side view

--- a/c2iec.y
+++ b/c2iec.y
@@ -31,8 +31,7 @@
 typedef enum
 {
 	decl_all,
-	decl_inout,
-	decl_var,
+	decl_func,
 	fifo_entry_num /* reflects the number of enum entries */
 } fifo_entry_t;
 
@@ -285,9 +284,13 @@
 	| declaration_specifiers init_declarator_list ';'
 	{
 		char *p;
+		while( (p=fifo_pop(decl_func)) != NULL)
+		{
+			printf(p, $<str>1);
+			strcpy($<str>$, "");
+		}
 		while( (p=fifo_pop(decl_all)) != NULL)
 		{
-//			sprintf(TAIL($<str>$), p, $<str>1);
 			printf(p, $<str>1);
 			strcpy($<str>$, "");
 		}
@@ -398,8 +401,6 @@
 		{
 			strcpy($<str>$, "");
 			sprintf(TAIL($<str>$), p, $<str>1);
-//			printf(p, $<str>1);
-//			strcpy($<str>$, "");
 		}
 	}
 	| unnamed_struct_or_union_specifier ';'
@@ -517,21 +518,21 @@
 	| direct_declarator '(' parameter_type_list ')'
 	{
 		sprintf($<str>$, "FUNCTION %s:%%s;\n",$<str>1);
-		fifo_push(decl_all, $<str>$);
+		fifo_push(decl_func, $<str>$);
 		strcpy($<str>$, $<str>1);
 		strcpy($<str>$, "");
 	}
 	| direct_declarator '(' identifier_list ')'
 	{
 		sprintf($<str>$, "FUNCTION %s:%%s;\n",$<str>1);
-		fifo_push(decl_all, $<str>$);
+		fifo_push(decl_func, $<str>$);
 		strcpy($<str>$, $<str>1);
 		strcpy($<str>$, "");
 	}
 	| direct_declarator '(' ')'
 	{
 		sprintf($<str>$, "FUNCTION %s:%%s;\n",$<str>1);
-		fifo_push(decl_all, $<str>$);
+		fifo_push(decl_func, $<str>$);
 		strcpy($<str>$, "");
 		strcpy($<str>$, "");
 	}
@@ -713,6 +714,10 @@
 	| declaration_specifiers declarator compound_statement
 	{
 		char *p;
+		while( (p=fifo_pop(decl_func)) != NULL)
+		{
+		  printf(p, $<str>1);
+		}
 		while( (p=fifo_pop(decl_all)) != NULL)
 		{
 		  printf(p, $<str>1);