Index: translator/examples/constants.c
===================================================================
--- translator/examples/constants.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
+++ translator/examples/constants.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
@@ -0,0 +1,18 @@
+int foo() {
+    1_234_Ul;
+    -0_177;
+    0x_ff_FF_ff_FF;
+    +9_223_372_036_854_775_807;
+    12.123_333_E_27;
+    0X_1.ff_ff_ff_ff_ff_fff_P_1023;
+    '\0';
+    '\1_2_3';
+    L_'\x_ff_ee';
+    L"a_bc\u_00_40xyz\xff_AA";
+    "a_bc\\
+  u_00_40xyz";
+}
+
+// Local Variables: //
+// compile-command: "../../bin/cfa -std=c99 constants.c" //
+// End: //
Index: translator/examples/control_structures.c
===================================================================
--- translator/examples/control_structures.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
+++ translator/examples/control_structures.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
@@ -0,0 +1,49 @@
+int main() {
+  L1: {
+      L2: switch ( 3_333_333 ) {	// underscores in constant
+	  case 1,2,3:			// 4~8, 4...8 not working
+	  L3: for ( ;; ) {
+	      L4: for ( ;; ) {
+		    break L1;		// labelled break
+		    break L2;
+		    break L3;
+		    break L4;
+#if 0
+		    continue L1;	// labelled continue
+		    continue L2;
+		    continue L3;
+		    continue L4;
+#endif
+		} // for
+	    } // for
+	    break;
+	  default:
+	    break L1;
+	} // switch
+	3;
+	int i, j;
+	choose ( 7 ) {
+	  case 1,2,3:
+	    i = 3;
+	    fallthru;
+	  case 4,5,6:
+	    j = 3;
+	  default: ;
+	} // choose
+    } // block
+
+#if 0
+    try {
+	int i = 3;
+    } catch( int ) {
+    } catch( double ) {
+    } catch( ... ) {
+    } finally {
+    } // try
+#endif
+
+} // main
+
+// Local Variables: //
+// compile-command: "../../bin/cfa control_structures.c" //
+// End: //
Index: translator/examples/includes.c
===================================================================
--- translator/examples/includes.c	(revision ad17ba6a8a138b346278ade9cfca43fa9e7c84e1)
+++ translator/examples/includes.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
@@ -34,4 +34,5 @@
 #include <curses.h>
 #else
+#include <time.h>		// FAILS -- includes locale.h
 #endif // 0
 
Index: translator/examples/min.c
===================================================================
--- translator/examples/min.c	(revision ad17ba6a8a138b346278ade9cfca43fa9e7c84e1)
+++ translator/examples/min.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
@@ -10,5 +10,5 @@
 int main() {
     char c;
-    c = min( 'a', 'z' );
+    c = min( 'z', 'a' );
     printf( "minimum %d\n", c );
     int i;
Index: translator/examples/square.c
===================================================================
--- translator/examples/square.c	(revision ad17ba6a8a138b346278ade9cfca43fa9e7c84e1)
+++ translator/examples/square.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
@@ -12,3 +12,4 @@
 int main() {
     printf( "result of square of 5 is %d\n", square( 5 ) );
+    printf( "result of square of 5 is %f\n", square( 5.0 ) );
 }
Index: translator/examples/sum.c
===================================================================
--- translator/examples/sum.c	(revision ad17ba6a8a138b346278ade9cfca43fa9e7c84e1)
+++ translator/examples/sum.c	(revision bdd516a5257cb93cc0c5b4a4c343cc112252022a)
@@ -7,10 +7,11 @@
     T ?+?( T, T );
     T ?++( T * );
-    [T] ?+=?( T *, T );
+    T ?+=?( T *, T );
 };
 
 forall( type T | sumable( T ) )
 T sum( int n, T a[] ) {
-    T total = 0;			// instantiate T, select 0
+    T total;				// instantiate T, select 0
+    total = 0;
     for ( int i = 0; i < n; i += 1 )
 	total = total + a[i];		// select +
@@ -18,7 +19,14 @@
 }
 
+// Required to satisfy sumable as char does not have addition.
+const char 0;
+char ?+?( char op1, char op2 ) { return op1 + op2; }
+char ?++( char *op ) { return *op + 1; }
+
+const double 0; // TEMPORARY, incorrect use of int 0
+
 int main() {
     const int size = 10, low = 0, High = 10;
-    int si, ai[10]; // size
+    int si = 0, ai[10]; // size
     int i;
     for ( i = low; i < High; i += 1 ) {
@@ -28,5 +36,11 @@
     printf( "sum from %d to %d is %d, check %d\n",
 	    low, High, sum( size, ai ), si );
-    double sd, ad[10]; // size
+
+//    char ci[10];
+//    char c = sum( size, ci );
+//    float fi[10];
+//    float f = sum( size, fi );
+
+    double sd = 0.0, ad[10]; // size
     for ( i = low; i < High; i += 1 ) {
 	double d = i / (double)size;
