source: src/examples/abstype.c @ 7937abf

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 7937abf was 7937abf, checked in by Peter A. Buhr <pabuhr@…>, 8 years ago

update examples with new keywords, more formatting changes in documentation

  • Property mode set to 100644
File size: 820 bytes
RevLine 
[86bd7c1f]1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// abstype.c --
8//
9// Author           : Richard C. Bilson
10// Created On       : Wed May 27 17:56:53 2015
11// Last Modified By : Peter A. Buhr
[7937abf]12// Last Modified On : Wed Apr  6 22:16:08 2016
13// Update Count     : 8
[86bd7c1f]14//
[a0d9f94]15
[7937abf]16otype T | { T x( T ); };
[a0d9f94]17
18T y( T t ) {
[86bd7c1f]19        T t_instance;
20        return x( t );
[a0d9f94]21}
22
[7937abf]23forall( otype T ) lvalue T *?( T* );
24int ?++( int * );
25int ?=?( int *, int );
26forall( dtype DT ) DT * ?=?( DT **, DT* );
[a0d9f94]27
[7937abf]28otype U = int *;
[a0d9f94]29
30U x( U u ) {
[86bd7c1f]31        U u_instance = u;
32        (*u)++;
33        return u;
[a0d9f94]34}
35
36int *break_abstraction( U u ) {
[86bd7c1f]37        return u;
[a0d9f94]38}
[86bd7c1f]39
40// Local Variables: //
41// tab-width: 4 //
42// compile-command: "cfa abstype.c" //
43// End: //
Note: See TracBrowser for help on using the repository browser.