Changeset 784deab for src/examples


Ignore:
Timestamp:
Jan 8, 2016, 10:37:10 PM (8 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
61f9356
Parents:
1cced28
Message:

fix recursive include bug in shadow includes, major clean of examples, add several long long routines to prelude

Location:
src/examples
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • src/examples/alloc.c

    r1cced28 r784deab  
    2626int *baz( int *p, int c );
    2727
    28 int main() {
     28int main( void ) {
    2929    size_t size = 10;
    3030    int * x = malloc();
  • src/examples/control_structures.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Sep 18 08:12:17 2015
    13 // Update Count     : 28
     12// Last Modified On : Mon Jan  4 11:30:30 2016
     13// Update Count     : 29
    1414//
    1515
    16 int main() {
     16int main( void ) {
    1717        L1: {
    1818                L2:     switch ( 3_333_333 ) {                                          // underscores in constant
  • src/examples/fstream_test.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Nov 23 14:43:32 2015
    13 // Update Count     : 40
     12// Last Modified On : Mon Jan  4 11:30:39 2016
     13// Update Count     : 41
    1414//
    1515
    1616#include "fstream.h"
    1717
    18 int main() {
     18int main( void ) {
    1919        ofstream *sout = ofstream_stdout();
    2020        ifstream *sin = ifstream_stdin();
  • src/examples/identity.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:16:30 2015
    13 // Update Count     : 2
     12// Last Modified On : Mon Jan  4 23:38:05 2016
     13// Update Count     : 6
    1414//
    1515
     
    2323int main() {
    2424        ofstream *sout = ofstream_stdout();
    25         char c = 'a';
    26         c = identity( c );
    27         sout << c << ' ' << identity( c ) << '\n';
    28         int i = 5;
    29         i = identity( i );
    30         sout << i << ' ' << identity( i ) << '\n';
    31         double d = 3.2;
    32         d = identity( d );
    33         sout << d << ' ' << identity( d ) << '\n';
     25        sout | "char\t\t\t"                                     | identity( 'z' ) | endl;
     26        sout | "signed int\t\t"                         | identity( 4 ) | endl;
     27        sout | "unsigned int\t\t"                       | identity( 4u ) | endl;
     28        sout | "signed long int\t\t"            | identity( 4l ) | endl;
     29        sout | "unsigned long int\t"            | identity( 4ul ) | endl;
     30        sout | "signed long long int\t"         | identity( 4ll ) | endl;
     31        sout | "unsigned long long int\t"       | identity( 4ull ) | endl;
     32        sout | "float\t\t\t"                            | identity( 4.0f ) | endl;
     33        sout | "double\t\t\t"                           | identity( 4.0 ) | endl;
     34        sout | "long double\t\t"                        | identity( 4.0l ) | endl;
    3435}
    3536
    3637// Local Variables: //
    3738// tab-width: 4 //
    38 // compile-command: "cfa identity.c fstream.o iostream.o" //
     39// compile-command: "cfa identity.c fstream.o iostream.o iterator.o" //
    3940// End: //
  • src/examples/includes.c

    r1cced28 r784deab  
    77// includes.c --
    88//
    9 // Author           : Richard C. Bilson
     9// Author           : Peter A. Buhr
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jun 26 15:04:33 2015
    13 // Update Count     : 14
     12// Last Modified On : Mon Dec 21 13:54:09 2015
     13// Update Count     : 322
    1414//
    1515
    16 #if 0
    17 //#include <aio.h>              // FAILS -- includes locale.h
     16// ***********************************************
     17// USE -std=c99 WITH gxx TO GET SAME OUTPUT AS cfa
     18// ***********************************************
     19
     20#ifdef __CFA__
     21extern "C" {
     22#endif // __CFA__
     23
     24#if 1
     25#define _GNU_SOURCE
     26#include <aio.h>
     27#include <a.out.h>
    1828#include <aliases.h>
    1929#include <alloca.h>
    2030#include <ansidecl.h>
    2131#include <ar.h>
    22 #include <argp.h>               // FAILS -- includes locale.h
    23 #include <argz.h>               // FAILS -- includes locale.h
     32#include <argp.h>
     33#include <argz.h>
    2434#include <assert.h>
    25 #include <bfd.h>                // contains structure field "type"
     35#include <bfd.h>
     36#include <bfdlink.h>
     37#include <byteswap.h>
     38#include <cblas.h>
     39#include <cblas_f77.h>
    2640#include <complex.h>
    27 #include <ctype.h>              // FAILS -- includes locale.h
     41#include <cpio.h>
     42#include <crypt.h>
     43#include <ctype.h>
     44#include <curses.h>
     45#include <demangle.h>           // enum / contains "type"
     46#include <dialog.h>                     // enum / contains "type"
     47#include <dirent.h>
     48#include <dis-asm.h>
     49#include <dlfcn.h>
     50#include <dlg_colors.h>
     51#include <dlg_config.h>
     52#include <dlg_keys.h>
     53#include <elf.h>
     54#include <endian.h>
     55#include <envz.h>
     56#include <err.h>
    2857#include <errno.h>
     58#include <error.h>
     59#if 0
     60#include <eti.h>
     61#include <evdns.h>                      // subdirectory event2 contains "type"
     62#include <event.h>
     63#include <evhttp.h>                     // enum / subdirectory event2 contains "type"
     64#include <evrpc.h>
     65#include <evutil.h>
     66#include <execinfo.h>
     67#include <expat.h>                      // enum / contains "type" and "context"
     68#include <expat_config.h>
     69#include <expat_external.h>
     70#include <fcntl.h>
     71#include <features.h>
    2972#include <fenv.h>
    3073#include <float.h>
     74#include <fmtmsg.h>
     75#include <fnmatch.h>
     76#include <form.h>                       // contains "type"
     77#include <fpu_control.h>
     78#include <fstab.h>
     79//#include <ft2build.h>
     80#include <fts.h>
     81#include <ftw.h>
     82#include <gconv.h>
     83//#include <gcrypt.h>           // enum / contains "type"
     84//#include <gcrypt-module.h>
     85#include <getopt.h>
     86//#include <gettext-po.h>
     87#include <glob.h>
     88//#include <gmp.h>                      // infinite loop
     89////#include <gmpxx.h>
     90//#include <gmp-x86_64.h>
     91#include <gnu-versions.h>
     92//#include <gpg-error.h>
     93#include <grp.h>
     94#include <gshadow.h>
     95#include <iconv.h>
     96#include <idna.h>
     97#include <idn-free.h>
     98#include <idn-int.h>
     99#include <ieee754.h>
     100#include <ifaddrs.h>
    31101#include <inttypes.h>
    32102#include <iso646.h>
     103#include <jerror.h>
     104//#include <jmorecfg.h>
     105//#include <jpegint.h>
     106//#include <jpeglib.h>
    33107#include <limits.h>
    34 #include <locale.h>             // FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..."
    35 #include <math.h>               // contains structure field "type"
     108#include <locale.h>
     109#include <math.h>                       // contains "type"
     110#include <ncurses.h>
    36111#include <setjmp.h>
    37112#include <signal.h>
     
    41116#include <stdlib.h>
    42117#include <stdio.h>
    43 #include <string.h>             // FAILS -- includes locale.h
     118#include <string.h>
    44119#include <tgmath.h>
    45 #include <time.h>               // FAILS -- includes locale.h
     120#include <time.h>
    46121#include <unistd.h>
    47 #include <wchar.h>              // FAILS -- includes locale.h
    48 #include <wctype.h>             // FAILS -- includes locale.h
    49 #include <curses.h>
     122#include <wchar.h>
     123#include <wctype.h>
     124#endif // 0
     125
    50126#else
    51 #include <aio.h>                // FAILS -- includes locale.h
     127
     128//#define _GNU_SOURCE
     129#include <error.h>
     130
    52131#endif // 0
     132
     133#ifdef __CFA__
     134} // extern "C"
     135#endif // __CFA__
    53136
    54137// Local Variables: //
  • src/examples/iostream.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Dec  7 23:08:02 2015
    13 // Update Count     : 24
     12// Last Modified On : Mon Jan  4 09:38:58 2016
     13// Update Count     : 37
    1414//
    1515
     
    2727forall( dtype ostype | ostream( ostype ) )
    2828ostype * ?|?( ostype *os, int i ) {
    29         char buffer[32];                                                                        // larger than the largest integer
    30         sprintf( buffer, "%d", i );
    31         return write( os, buffer, strlen( buffer ) );
     29        char buffer[32];
     30        return write( os, buffer, sprintf( buffer, "%d", i ) );
     31} // ?|?
     32
     33forall( dtype ostype | ostream( ostype ) )
     34ostype * ?|?( ostype *os, unsigned int i ) {
     35        char buffer[32];
     36        return write( os, buffer, sprintf( buffer, "%u", i ) );
     37} // ?|?
     38
     39forall( dtype ostype | ostream( ostype ) )
     40ostype * ?|?( ostype *os, long int i ) {
     41        char buffer[32];
     42        return write( os, buffer, sprintf( buffer, "%ld", i ) );
     43} // ?|?
     44
     45forall( dtype ostype | ostream( ostype ) )
     46ostype * ?|?( ostype *os, long long int i ) {
     47        char buffer[32];
     48        return write( os, buffer, sprintf( buffer, "%lld", i ) );
     49} // ?|?
     50
     51forall( dtype ostype | ostream( ostype ) )
     52ostype * ?|?( ostype *os, unsigned long int i ) {
     53        char buffer[32];
     54        return write( os, buffer, sprintf( buffer, "%lu", i ) );
     55} // ?|?
     56
     57forall( dtype ostype | ostream( ostype ) )
     58ostype * ?|?( ostype *os, unsigned long long int i ) {
     59        char buffer[32];
     60        return write( os, buffer, sprintf( buffer, "%llu", i ) );
    3261} // ?|?
    3362
    3463forall( dtype ostype | ostream( ostype ) )
    3564ostype * ?|?( ostype *os, double d ) {
    36         char buffer[32];                                                                        // larger than the largest double
    37         sprintf( buffer, "%g", d );
    38         return write( os, buffer, strlen( buffer ) );
     65        char buffer[32];
     66        return write( os, buffer, sprintf( buffer, "%g", d ) );
     67} // ?|?
     68
     69forall( dtype ostype | ostream( ostype ) )
     70ostype * ?|?( ostype *os, long double d ) {
     71        char buffer[32];
     72        return write( os, buffer, sprintf( buffer, "%Lg", d ) );
     73} // ?|?
     74
     75forall( dtype ostype | ostream( ostype ) )
     76ostype * ?|?( ostype *os, const void *p ) {
     77        char buffer[32];
     78        return write( os, buffer, sprintf( buffer, "%p", p ) );
    3979} // ?|?
    4080
     
    4282ostype * ?|?( ostype *os, const char *cp ) {
    4383        return write( os, cp, strlen( cp ) );
    44 } // ?|?
    45 
    46 forall( dtype ostype | ostream( ostype ) )
    47 ostype * ?|?( ostype *os, const void *p ) {
    48         char buffer[32];                                                                        // larger than the largest pointer
    49         sprintf( buffer, "%p", p );
    50         return write( os, buffer, strlen( buffer ) );
    5184} // ?|?
    5285
  • src/examples/iostream.h

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Nov 23 14:15:25 2015
    13 // Update Count     : 17
     12// Last Modified On : Mon Jan  4 09:02:11 2016
     13// Update Count     : 20
    1414//
    1515
     
    3434forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, char );
    3535forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, int );
     36forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, unsigned int );
     37forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, long int );
     38forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, long long int );
     39forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, unsigned long int );
     40forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, unsigned long long int );
    3641forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, double );
     42forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, long double );
    3743forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const char * );
    3844forall( dtype ostype | ostream( ostype ) ) ostype * ?|?( ostype *, const void * );
  • src/examples/min.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:23:19 2015
    13 // Update Count     : 2
     12// Last Modified On : Mon Jan  4 11:40:51 2016
     13// Update Count     : 26
    1414//
    1515
    16 extern "C" {
    17         int printf( const char *, ... );
    18 //#include <stdio.h>
    19 }
     16#include "fstream.h"
    2017
    2118forall( type T | { int ?<?( T, T ); } )
    2219T min( const T t1, const T t2 ) {
    2320        return t1 < t2 ? t1 : t2;
    24 }
     21} // min
    2522
    26 int main() {
    27         char c;
    28 //      c = min( 'z', 'a' );
    29 //      printf( "minimum %d\n", c );
    30         int i;
    31         i = min( 4, 3 );
    32         printf( "minimum %d\n", min( 4, 3 ) );
    33         float f;
    34         f = min( 4.0, 3.1 );
    35         printf( "minimum %g\n", f );
    36         double d;
    37         d = min( 4.0, 3.2 );
    38         printf( "minimum %g\n", d );
    39 }
     23int main( void ) {
     24        ofstream *sout = ofstream_stdout();
     25        // char does not have less than.
     26        int ?<?( char op1, char op2 ) { return (int)op1 < (int)op2; }
     27
     28        sout | "char\t\t\t"                                     | 'z' | ' ' | 'a' | "\tmin " | min( 'z', 'a' ) | endl;
     29        sout | "signed int\t\t"                         | 4 | ' ' | 3 | "\tmin " | min( 4, 3 ) | endl;
     30        sout | "unsigned int\t\t"                       | 4u | ' ' | 3u | "\tmin " | min( 4u, 3u ) | endl;
     31        sout | "signed long int\t\t"            | 4l | ' ' | 3l | "\tmin " | min( 4l, 3l ) | endl;
     32        sout | "unsigned long int\t"            | 4ul | ' ' | 3ul | "\tmin " | min( 4ul, 3ul ) | endl;
     33        sout | "signed long long int\t"         | 4ll | ' ' | 3ll | "\tmin " | min( 4ll, 3ll ) | endl;
     34        sout | "unsigned long long int\t"       | 4ull | ' ' | 3ull | "\tmin " | min( 4ull, 3ull ) | endl;
     35        sout | "float\t\t\t"                            | 4.0f | ' ' | 3.1f | "\tmin " | min( 4.0f, 3.1f ) | endl;
     36        sout | "double\t\t\t"                           | 4.0 | ' ' | 3.1 | "\tmin " | min( 4.0, 3.1 ) | endl;
     37        sout | "long double\t\t"                        | 4.0l | ' ' | 3.1l | "\tmin " | min( 4.0l, 3.1l ) | endl;
     38} // main
    4039
    4140// Local Variables: //
    4241// tab-width: 4 //
    43 // compile-command: "cfa min.c" //
     42// compile-command: "cfa min.c fstream.o iostream.o iterator.o" //
    4443// End: //
  • src/examples/quoted_keyword.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:27:26 2015
    13 // Update Count     : 2
     12// Last Modified On : Sun Jan  3 22:46:28 2016
     13// Update Count     : 7
    1414//
    1515
     16#include "fstream.h"
     17
    1618// test quoted keyword usage
    17 int `catch`;
     19int `catch` = 10;
    1820
    1921struct {
    2022        int `type`;
    2123        int `struct`;
    22 } st;
     24} st = { 10, 10 };
    2325
    2426typedef int `forall`;
    25 `forall` `throw`;
     27`forall` `throw` = 10;
    2628
    27 int foo() {
    28         int w = `catch` + st.`type` + st.`struct` + `throw`;
     29int main() {
     30        ofstream *sout = ofstream_stdout();
     31        sout | `catch` + st.`type` + st.`struct` + `throw` | endl;
    2932}
    3033
  • src/examples/s.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:42:39 2015
    13 // Update Count     : 2
     12// Last Modified On : Sun Jan  3 22:38:45 2016
     13// Update Count     : 3
    1414//
    1515
     
    1717
    1818void f() {
    19 //      int a;
    20 //      a ? 4 : 5;
     19        int a;
     20        a ? 4 : 5;
    2121        1 ? 4 : 5;
    2222        0 ? 4 : 5;
  • src/examples/square.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:43:34 2015
    13 // Update Count     : 2
     12// Last Modified On : Tue Jan  5 18:08:20 2016
     13// Update Count     : 21
    1414//
    1515
    16 extern "C" {
    17 #include <stdio.h>
    18 }
     16#include "fstream.h"
    1917
    2018forall( type T | { T ?*?( T, T ); } )
    2119T square( T t ) {
    2220        return t * t;
    23 }
    24 
    25 //char ?*?( char a1, char a2 ) {
    26 //      return (char)( (int)a1 * (int)a2 );
    27 //}
     21} // square
    2822
    2923int main() {
    30         char c = 5;
    31         short int s = 5;
    32         int i = 5;
    33         float f = 5.0;
    34         double d = 5.0;
    35 //      printf( "result of square of 5 is %d\n", (char)square( c ) );
    36         printf( "result of square of 5 is %d\n", square( s ) );
    37         printf( "result of square of 5 is %d\n", square( i ) );
    38         printf( "result of square of 5 is %f\n", square( f ) );
    39         printf( "result of square of 5 is %f\n", square( d ) );
    40 }
     24#if 0
     25        ofstream *sout = ofstream_stdout();
     26        sout | "result of squaring 9 is " | endl;
     27
     28        // char does not have multiplication.
     29        char ?*?( char a1, char a2 ) {
     30                return (char)((int)a1 * (int)a2);
     31        } // ?*?
     32        char c = 9;
     33        sout | "char\t\t\t" | square( c ) | endl;
     34
     35        sout | square( s ) | endl;
     36#endif
     37        short int s = 9;
     38        square( s );
     39#if 0
     40        signed int i = 9;
     41        sout | "signed int\t\t" | square( i ) | endl;
     42
     43        unsigned int ui = 9;
     44        sout | "unsigned int\t\t" | square( ui ) | endl;
     45
     46        long int li = 9;
     47        sout | "signed long int\t\t" | square( li ) | endl;
     48
     49        unsigned long int uli = 9;
     50        sout | "unsigned long int\t" | square( uli ) | endl;
     51
     52        signed long long int lli = 9;
     53        sout | "signed long long int\t" | square( lli ) | endl;
     54
     55        unsigned long long int ulli = 9;
     56        sout | "unsigned long long int\t" | square( ulli ) | endl;
     57
     58        float f = 9.0;
     59        sout | "float\t\t\t" | square( f ) | endl;
     60
     61        double d = 9.0;
     62        sout | "double\t\t\t" | square( d ) | endl;
     63
     64        long double ld = 9.0;
     65        sout | "long double\t\t" | square( ld ) | endl;
     66#endif
     67} // main
    4168
    4269// Local Variables: //
    4370// tab-width: 4 //
    44 // compile-command: "cfa square.c" //
     71// compile-command: "cfa square.c fstream.o iostream.o iterator.o" //
    4572// End: //
  • src/examples/sum.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Nov 21 18:08:18 2015
    13 // Update Count     : 119
     12// Last Modified On : Mon Jan  4 07:40:24 2016
     13// Update Count     : 126
    1414//
    1515
    16 extern "C" {
    17         int printf( char *, ... );
    18 }
    1916#include "fstream.h"
    2017
     
    4138char ?++( char *op ) { char temp = *op; *op += 1; return temp; }
    4239
    43 int main() {
     40int main( void ) {
    4441        const int low = 5, High = 15, size = High - low;
    4542
     
    5249                a[i] = v;
    5350        }
    54         sout << "sum from " << low << " to " << High << " is "
    55                  << (int)sum( size, a ) << ", check " << (int)s << endl;
     51        sout | "sum from " | low | " to " | High | " is "
     52                 | (int)sum( size, a ) | ", check " | (int)s | endl;
    5653
    5754        int s = 0, a[size];
     
    6158                a[i] = (int)v;
    6259        }
    63         sout << "sum from " << low << " to " << High << " is "
    64                  << sum( size, (int *)a ) << ", check " << (int)s << endl;
     60        sout | "sum from " | low | " to " | High | " is "
     61                 | sum( size, (int *)a ) | ", check " | (int)s | endl;
    6562
    6663        double s = 0.0, a[size];
     
    7067                a[i] = (double)v;
    7168        }
    72         printf( "%g\n", sum( size, (double *)a ) );
    73 //      sout << "sum from " << low / 10.0 << " to " << High / 10.0 << " is "
    74 //               << sum( size, (double *)a ) << ", check " << (double)s << endl;
     69        sout | "sum from " | low / 10.0 | " to " | High / 10.0 | " is "
     70                 | sum( size, (double *)a ) | ", check " | (double)s | endl;
    7571
    7672        float s = 0.0, a[size];
     
    8076                a[i] = (float)v;
    8177        }
    82         printf( "%g\n", sum( size, (float *)a ) );
    83 //      sout << "sum from " << low / 10.0 << " to " << High / 10.0 << " is "
    84 //               << sum( size, (float *)a ) << ", check " << (float)s << endl;
     78        sout | "sum from " | low / 10.0 | " to " | High / 10.0 | " is "
     79                 | sum( size, (float *)a ) | ", check " | (float)s | endl;
    8580}
    8681
    8782// Local Variables: //
    8883// tab-width: 4 //
    89 // compile-command: "cfa sum.c fstream.o iostream.o" //
     84// compile-command: "cfa sum.c fstream.o iostream.o iterator.o" //
    9085// End: //
  • src/examples/swap.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:34:47 2015
    13 // Update Count     : 1
     12// Last Modified On : Mon Jan  4 11:32:25 2016
     13// Update Count     : 5
    1414//
    1515
    16 extern "C" {
    17         int printf( const char *, ... );
    18 }
     16#include "fstream.h"
    1917
    2018forall( type T )
     
    2523}
    2624
    27 int main() {
     25int main( void ) {
    2826        int x = 1, y = 2;
    29         printf( "%d %d\n", x, y );
     27        ofstream *sout = ofstream_stdout();
     28        sout | x | ' ' | y | endl;
    3029        swap( &x, &y );
    31         printf( "%d %d\n", x, y );
     30        sout | x | ' ' | y | endl;
    3231}
    3332
    3433// Local Variables: //
    3534// tab-width: 4 //
    36 // compile-command: "cfa swap.c" //
     35// compile-command: "cfa swap.c fstream.o iostream.o iterator.o" //
    3736// End: //
  • src/examples/twice.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:37:23 2015
    13 // Update Count     : 1
     12// Last Modified On : Mon Jan  4 11:32:04 2016
     13// Update Count     : 10
    1414//
    1515
     
    2121}
    2222
    23 int main() {
     23int main( void ) {
     24        // char does not have addition
     25        char ?+?( char op1, char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion
     26        char ++?( char *op ) { *op += 1; return *op; }
     27        char ?++( char *op ) { char temp = *op; *op += 1; return temp; }
     28
    2429        ofstream *sout = ofstream_stdout();
    25         sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
     30        sout | twice( 'a' ) | ' ' | twice( 1 ) | ' ' | twice( 3.2 ) | endl;
    2631}
    2732
    2833// Local Variables: //
    2934// tab-width: 4 //
    30 // compile-command: "cfa twice.c fstream.o iostream.o" //
     35// compile-command: "cfa twice.c fstream.o iostream.o iterator.o" //
    3136// End: //
  • src/examples/vector_test.c

    r1cced28 r784deab  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Dec 15 16:02:56 2015
    13 // Update Count     : 13
     12// Last Modified On : Mon Jan  4 11:31:56 2016
     13// Update Count     : 14
    1414//
    1515
     
    1919#include "iterator.h"
    2020
    21 int main() {
     21int main( void ) {
    2222        ofstream *sout = ofstream_stdout();
    2323        ifstream *sin = ifstream_stdin();
Note: See TracChangeset for help on using the changeset viewer.