Changeset c3a8ecd
- Timestamp:
- Aug 14, 2018, 4:10:54 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 7cd8827
- Parents:
- 26f4dbe
- Location:
- src/examples
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/examples/Tuple.c
r26f4dbe rc3a8ecd 1 1 int f( int, int ); 2 2 int g( int, int, int ); 3 static [ int, int *, * int, int ] h( int a, int b, * int c, [] char d ); 3 static 4 [ int, int *, * int, int ] h( int a, int b, * int c, [] char d ); 4 5 5 6 struct inner { … … 14 15 15 16 const volatile [ int, int ] t1; 16 static const [ int, constint ] t2;17 static const [ int, int ] t2; 17 18 const static [ int, const int ] t3; 18 19 … … 21 22 22 23 [ short x, unsigned y ] f1( int w ) { 23 24 // return [ y, x ] = [ x, y ] = [ w, 23 ]; 24 25 } 25 26 26 27 [ [ int, char, long, int ] r ] g1() { 27 short x, p;28 short int x, p; 28 29 unsigned int y; 29 30 [ int, int ] z; 30 31 31 [ x, y, z ] = [ p, f( 17 ), 3 ];32 [ x, y, z ] = ([short, unsigned int, [int, int]])([ p, f( 17 ), 3 ]);32 [ x, y, z ] = [ p, f( 17, 18 ), 4, 3 ]; 33 // [ x, y, z ] = ([short, unsigned int, [int, int]])([ p, f( 17, 18 ), 4, 3 ]); 33 34 r = [ x, y, z ]; 34 35 } … … 36 37 [ int rc ] main( int argc, ** char argv ) { 37 38 int a, b, c, d; 38 struct outer t = { .[ f1,f4 ] : [ 1,7.0 ] };39 // struct outer t = { .[ f1, f4 ] : [ 1, 7.0 ] }; 39 40 f( [ 3,5 ] ); 40 41 g( [ 3,5 ], 3 ); … … 42 43 g( t1, 3 ); 43 44 44 [ , , , ]; /* empty tuple */45 // [ , , , ]; /* empty tuple */ 45 46 [ 3, 5 ]; 46 47 [ a, b ] = 3; 47 [ a, b ] = [ 4.6 ]; 48 // [ a, b ] = [ 4.6 ]; 49 [ a, b ] = 4.6; 48 50 [ a, b ] = [ c, d ] = [ 3, 5 ]; 49 [ a, b, [ c ] ] = [ 2,[ a, b ] ]; 51 // [ a, b, [ c ] ] = [ 2, [ a, b ] ]; 52 [ a, b, c ] = [ 2, [ a, b ] ]; 50 53 [ a, b ] = 3 > 4 ? [ b, 6 ] : [ 7, 8 ]; 51 54 … … 56 59 [ a, b ] = t1 = [ c, d ]; 57 60 [ a, b ] = t1 = t2 = [ c, d ]; 58 t1 = [ 3, 4 ] = [ 3, 4 ] = t1 = [ 3, 4 ];61 // t1 = [ 3, 4 ] = [ 3, 4 ] = t1 = [ 3, 4 ]; 59 62 60 63 s.[ f1, i.[ f2, f3 ], f4 ] = [ 11, 12, 13, 3.14159 ]; 61 s.[ f1, i.[ f2, f3 ], f4 ] = h( 3, 3,0, "abc" );62 [ a, , b, ] = h( 3, 3, 0, "abc" ); /* ignore some results */63 sp->[ f4, f1 ] = sp->[ f1, f4 ];64 // s.[ f1, i.[ f2, f3 ], f4 ] = h( 3, 3, (* int)0, "abc" ); 65 // [ a, , b, ] = h( 3, 3, 0, "abc" ); /* ignore some results */ 66 sp->[ f4, f1 ] = sp->[ f1, f4 ]; 64 67 printf( "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n", s.[ f4, i.[ f3, f2 ], f1 ] ); 65 68 rc = 0; -
src/examples/includes.c
r26f4dbe rc3a8ecd 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:59:25 201613 // Update Count : 37112 // Last Modified On : Wed Nov 15 23:06:24 2017 13 // Update Count : 597 14 14 // 15 15 … … 22 22 #endif // __CFA__ 23 23 24 #if 025 24 #if 1 26 25 #define _GNU_SOURCE 26 #include <a.out.h> 27 27 #include <aio.h> 28 #include <a.out.h>29 28 #include <aliases.h> 30 29 #include <alloca.h> … … 34 33 #include <argz.h> 35 34 #include <assert.h> 36 #include <bfd.h>37 #include <bfdlink.h> 35 //#include <bfd.h> 36 // #include <bfdlink.h> // keyword with 38 37 #include <byteswap.h> 38 #include <bzlib.h> 39 39 #include <cblas.h> 40 40 #include <cblas_f77.h> 41 41 #include <complex.h> 42 #include <com_err.h> 42 43 #include <cpio.h> 43 44 #include <crypt.h> 44 45 #include <ctype.h> 45 46 #include <curses.h> 46 //#include <demangle.h>47 47 #include <dialog.h> 48 48 #include <dirent.h> 49 49 #include <dis-asm.h> 50 #endif51 #if 052 50 #include <dlfcn.h> 53 51 #include <dlg_colors.h> … … 63 61 #include <evdns.h> 64 62 #include <event.h> 65 #include <evhttp.h> 66 #endif 67 #if 0 68 #include <evrpc.h> 69 #include <evutil.h> 70 #include <execinfo.h> 71 #include <expat.h> 72 #include <expat_config.h> 73 #include <expat_external.h> 74 #include <fcntl.h> 75 #include <features.h> 76 #include <fenv.h> 77 #include <float.h> 78 #include <fmtmsg.h> 79 #include <fnmatch.h> 80 #include <form.h> 81 #include <fpu_control.h> 82 #include <fstab.h> 83 //#include <ft2build.h> 84 #include <fts.h> 85 #include <ftw.h> 86 #include <gconv.h> 87 //#include <gcrypt.h> 88 //#include <gcrypt-module.h> 89 #include <getopt.h> 90 //#include <gettext-po.h> 91 #include <glob.h> 92 //#include <gmp.h> // infinite loop 93 ////#include <gmpxx.h> 94 //#include <gmp-x86_64.h> 95 #include <gnu-versions.h> 96 //#include <gpg-error.h> 97 #include <grp.h> 98 #include <gshadow.h> 99 #include <iconv.h> 100 #include <idna.h> 101 #include <idn-free.h> 102 #include <idn-int.h> 103 #include <ieee754.h> 104 #include <ifaddrs.h> 105 #include <inttypes.h> 106 #include <iso646.h> 107 #include <jerror.h> 63 64 // #include <evhttp.h> 65 // #include <sys/queue.h> 66 // #include <evrpc.h> // evrpc.h depends on sys/queue.h 67 // #include <evutil.h> 68 // #include <execinfo.h> 69 // #include <expat.h> 70 // #include <expat_config.h> 71 // #include <expat_external.h> 72 // #include <fcntl.h> 73 // #include <features.h> 74 // #include <fenv.h> 75 // #include <fmtmsg.h> 76 // #include <fnmatch.h> 77 // #include <form.h> 78 // #include <fpu_control.h> 79 // #include <fstab.h> 80 // #include <fts.h> 81 // #include <ftw.h> 82 // #include <gconv.h> 83 // #include <getopt.h> 84 // #include <gettext-po.h> 85 // #include <glob.h> 86 // #include <gmp.h> 87 // #include <gnu-versions.h> 88 // #include <grp.h> 89 // #include <gshadow.h> 90 // #include <gssapi.h> 91 // #include <hwloc.h> // keyword thread (setjmp) 92 // #include <iconv.h> 93 // #include <idna.h> 94 // #include <idn-free.h> 95 // #include <idn-int.h> 96 // #include <idn-int.h> 97 // #include <ifaddrs.h> 98 // #include <inttypes.h> 99 // #include <jerror.h> 100 108 101 //#include <jmorecfg.h> 109 102 //#include <jpegint.h> 110 //#include <jpeglib.h> 111 #include <limits.h> 112 #include <locale.h> 113 #include <math.h> 114 #include <ncurses.h> 103 // #include <jpeglib.h> 104 // #include <kdb.h> 105 // #include <krb5.h> // keyword enable 106 // #include <langinfo.h> 107 // #include <lastlog.h> 108 // #include <lber.h> 109 // #include <lber_types.h> 110 // #include <ldap.h> 111 // #include <ldap_cdefs.h> 112 // #include <ldap_features.h> 113 // #include <ldap_schema.h> 114 // #include <ldap_utf8.h> 115 // #include <ldif.h> 116 // #include <libgen.h> 117 // #include <libintl.h> 118 // #include <libio.h> 119 // #include <libtasn1.h> 120 // #include <libudev.h> 121 // #include <limits.h> 122 // #include <link.h> 123 // #include <locale.h> 124 // #include <ltdl.h> 125 // #include <lzma.h> 126 // #include <malloc.h> 127 // #include <math.h> 128 // #include <mcheck.h> 129 // #include <memory.h> 130 // #include <menu.h> 131 // #include <mntent.h> 132 // #include <monetary.h> 133 // #include <mqueue.h> 134 // #include <ncurses.h> 135 // #include <ncurses_dll.h> 136 // #include <nc_tparm.h> 137 // #include <netdb.h> 138 // #include <nl_types.h> 139 // #include <nss.h> 140 // #include <numa.h> 141 // #include <numacompat1.h> 142 // #include <numaif.h> 143 // #include <obstack.h> 144 // #include <panel.h> 145 // #include <paths.h> 146 // #include <pciaccess.h> 147 // #include <pcre.h> 148 // //#include <pcreposix.h> // conflicts with regex.h 149 // #include <plugin-api.h> 150 // #include <png.h> // setjmp 151 // #include <pngconf.h> // setjmp 152 // #include <poll.h> 153 // #include <pr29.h> 154 // #include <printf.h> 155 // #include <profile.h> 156 // #include <pthread.h> // setjmp 157 // #include <pty.h> 158 // #include <punycode.h> 159 // #include <pwd.h> 160 // #define INIT ; // needed for regex.h 161 // #define GETC() 'a' 162 // #define PEEKC() 'a' 163 // #define UNGETC( c ) ; 164 // #define RETURN( ptr ) ; 165 // #define ERROR( val ) ; 166 // #include <regex.h> 167 // //#include <regexp.h> // GNU C Library no longer implements 168 // #include <resolv.h> 169 // #include <re_comp.h> 170 // #include <sched.h> 171 // #include <search.h> 172 // #include <semaphore.h> 173 // #include <setjmp.h> 174 // #include <sgtty.h> 175 // #include <shadow.h> 176 // #include <signal.h> 177 // #include <spawn.h> 178 // #include <stab.h> 179 // #include <stdatomic.h> 180 // #include <stdarg.h> 181 // #include <stdbool.h> 182 // #include <stdint.h> 183 // #include <stddef.h> 184 // #include <stdio.h> 185 // #include <stdio_ext.h> 186 // #include <stdlib.h> 187 // #include <string.h> 188 // #include <stringprep.h> 189 // #include <strings.h> 190 // #include <stropts.h> 191 // #include <sudo_plugin.h> 192 // #include <symcat.h> 193 // #include <syscall.h> 194 // #include <sysexits.h> 195 // #include <syslog.h> 196 // #include <tar.h> 197 // #include <term.h> 198 // #include <termcap.h> 199 // #include <termio.h> 200 // #include <termios.h> 201 // //#include <term_entry.h> 202 // #include <tgmath.h> 203 // #include <thread_db.h> // CFA bug 204 // #include <tic.h> 205 // #include <time.h> 206 // #include <tld.h> 207 // #include <ttyent.h> 208 // #include <turbojpeg.h> 209 // #include <ucontext.h> 210 // #include <ulimit.h> 211 // #include <unctrl.h> 212 // #include <unistd.h> 213 // #include <ustat.h> 214 // #include <utime.h> 215 // #include <utmp.h> 216 // #include <utmpx.h> 217 // #include <wait.h> 218 // #include <wchar.h> 219 // #include <wctype.h> 220 // #include <wordexp.h> 221 // #include <xlocale.h> 222 // #include <values.h> 223 // #include <zconf.h> 224 // #include <zlib.h> 225 // #include <_G_config.h> 226 227 // #include <jpeglib.h> // after stdlib.h/stdio.h 228 // #include <jpegint.h> 229 // #include <jmorecfg.h> 230 #if 0 231 #endif // 0 232 233 #else 234 235 #define _GNU_SOURCE 236 115 237 #include <setjmp.h> 116 #include <signal.h>117 #include <stdarg.h>118 #include <stdbool.h>119 #include <stddef.h>120 #include <stdlib.h>121 #include <stdio.h>122 #include <string.h>123 #include <tgmath.h>124 #include <time.h>125 #include <unistd.h>126 #include <wchar.h>127 #include <wctype.h>128 #endif // 0129 130 #else131 132 #define _GNU_SOURCE133 //#include <bfd.h>134 //#include <error.h>135 136 #include <demangle.h>137 238 138 239 #endif // 0 -
src/examples/twice.c
r26f4dbe rc3a8ecd 7 7 // twice.c -- 8 8 // 9 // Author : Richard C. Bilson9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Mar 8 22:04:58 201613 // Update Count : 1612 // Last Modified On : Thu Oct 19 21:52:57 2017 13 // Update Count : 46 14 14 // 15 15 16 16 #include <fstream> 17 17 18 forall( otype T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T );} )18 forall( otype T | { T ?+?( T, T ); } ) 19 19 T twice( const T t ) { 20 20 return t + t; 21 21 } 22 22 23 // char does not have addition 24 char ?+?( char op1, char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion 25 26 // signed char does not have addition 27 signed char ?+?( signed char op1, signed char op2 ) { return (int)op1 + op2; } // cast forces integer addition or recursion 28 23 29 int 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 29 sout | twice( 'a' ) | ' ' | twice( 1 ) | twice( 3.2 ) | endl; 30 sout | twice( ' ' ) | ' ' | twice( (signed char)0 ) | twice( (int)1 ) | twice( 3.2 ) | endl; 30 31 } 31 32
Note: See TracChangeset
for help on using the changeset viewer.